MySQL 資料庫優化的幾種方式

2021-06-18 08:07:57 字數 749 閱讀 3121

優化大致可以分為以下方面,按照執行難易程度和對當前專案影響排序:

1. mysql引數優化:可以通過show variables;命令和show status;命令組合來綜合分析,可調整的專案根據使用的儲存引擎和專案瓶頸具體情況千差萬別,需要具體問題具體分析,如果想從這方面入手,建議把問題提得更具體一點;

2. sql查詢優化和索引優化:你可以開啟慢日誌記錄,將需要消耗太多時間的查詢記錄下來,然後分析相應的sql語句是否寫的不合理,不合理就改了;再到資料庫中查表結構,看是否索引設定不合理(一般where語句中的常用字段和排序字段應該加上合適的索引);

3. 增加快取層:可考慮在mysql與應用層中間加乙個快取層,如apc、memcached、redis等等,將經常使用而更新較少的資料放到快取層中,可以很好的減輕資料庫壓力;

4. 優化表結構:首先這個代價稍大,可能要重新灌資料之類的,**修改可能也會比較多,看之前的封裝性好不好了。主要是根據業務需要,看是否之前的表結構有不合理的地方,比如你使用了很多但是又無法排除的join查詢;

5. 分庫、分表、主從分離:分庫是把資料庫從1個邏輯庫拆分到多個邏輯庫,或從1個伺服器拆分到多個伺服器,分表是將乙個表拆分為多個表,甚至是多個物理伺服器的不同表;主從分離是將讀、寫完全分離到不同的資料庫伺服器;這個方案跟4一樣,也是代價比較大,但是可持續性很好,專案到達一定的數量級,必須走這一步;

6. 自己定製mysql:開源的,可以根據自己特殊業務需要定製,太高階了點點,總之有這種可能,沒搞過..

MySql資料庫備份的幾種方式

備份整個資料庫 mysqldump u root h host p dbname backdb.sql備份資料庫中的某個表 mysqldump u root h host p dbname tbname1,tbname2 backdb.sql備份多個資料庫 mysqldump u root h ho...

MySql資料庫備份的幾種方式

mysqldump工具備份 備份整個資料庫 mysqldump u root h host p dbname backdb.sql備份資料庫中的某個表 mysqldump u root h host p dbname tbname1,tbname2 backdb.sql備份多個資料庫 mysqldu...

C 連線Mysql資料庫的幾種方式

mysql資料庫是一種關係型資料庫,近年來的使用者迅速增加,下面介紹幾種c 連線mysql的方式 h ifndef mysqldatabase mysqldatabase h define mysqldatabase mysqldatabase h include include include i...