對mysql優(yōu)化時一個綜合性的技術,主要包括
a: 表的設計合理化(符合3NF)
b: 添加適當索引(index) [四種: 普通索引、主鍵索引、唯一索引unique、全文索引]
c: 分表技術(水平分割、垂直分割)
d: 讀寫[寫: update/delete/add]分離
e: 存儲過程 [模塊化編程,可以提高速度]
f: 對mysql配置優(yōu)化 [配置最大并發(fā)數(shù)my.ini, 調(diào)整緩存大小 ]
g: mysql服務器硬件升級
h: 定時的去清除不需要的數(shù)據(jù),定時進行碎片整理(MyISAM)?
=============================================================
PS:MYSQL使用小技巧
了解mysql數(shù)據(jù)庫的一些運行狀態(tài)如何查詢(比如想知道當前mysql運行的時間/一共執(zhí)行了多少次select/update/delete.. / 當前連接)
1、show status
常用的:
show status like ‘uptime’ ;
show? stauts like ‘com_select’? show stauts like ‘com_insert’ ...類推 update? delete
?
? show [session|global] status like .... 如果你不寫? [session|global] 默認是session 會話,指取出當前窗口的執(zhí)行,如果你想看所有(從mysql 啟動到現(xiàn)在,則應該 global)
show status like ‘connections’;
//顯示慢查詢次數(shù)
show status like ‘slow_queries’;
?2、修改mysql的慢查詢.
show variables like ‘long_query_time’ ; //可以顯示當前慢查詢時間
set long_query_time=1 ;//可以修改慢查詢時間
3、修改命令結束
delimiter $$
4、explain命令
explain 可以幫助我們在不真正執(zhí)行某個sql語句時,就執(zhí)行mysql怎樣執(zhí)行,這樣利用我們?nèi)シ治鰏ql指令.
?
?
5、開啟慢查詢?nèi)罩?
在默認情況下,我們的mysql不會記錄慢查詢,需要在啟動mysql時候,指定記錄慢查詢才可以
bin\mysqld.exe - -safe-mode? - -slow-query-log [mysql5.5 可以在my.ini指定]
bin\mysqld.exe –log-slow-queries=d:/abc.log [低版本mysql5.0可以在my.ini指定]
?
先關閉mysql,再啟動, 如果啟用了慢查詢?nèi)罩荆J把這個文件放在
my.ini 文件中記錄的位置
#Path to the database root
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
