逆範式:1對多的時候應當儘量的把冗餘放在一那邊 #查看語句的執行次數 show status show create database; #設置id自動增加的值 alter table test auto_increment=2; #mysql myisam 引擎刪除的記錄不是釋放硬盤空間 optimize table table_name; 關心以com開頭的命令 show status like 'com%' show (session) status like 'com_select'; //本次會話 show global status like 'com_select'; //從啓動到如今 connextions 試圖鏈接數據庫的次數 status like 'com_select'; show status like 'uptime'; 服務器啓動時間 show status like 'slow_queries'; //慢查詢次數,默認是十秒 顯示慢查詢 show variables like 'long_query_time';設置 關於mysql中的 dual 表能夠看錯是一個虛擬表,只是爲符合 select * from table_name 這一查詢格式而已 啓動慢查詢日誌: mysqld.exe -slow-query-log 數據文件my.ini datadir設置 //設置慢查詢時間 set long_query_time = 1; __________________________________________________ 第一步:修改my.ini(mysql配置文件) 在my.ini中加上下面兩句話 log-slow-queries = D:\wamp\mysql_slow_query.log long_query_time=5 第一句使用來定義慢查詢日誌的路徑(由於是windows,因此不牽涉權限問題) 第二句使用來定義查過多少秒的查詢算是慢查詢,我這裏定義的是5秒 第二步:查看關於慢查詢的狀態 執行以下SQL語句來查看mysql慢查詢的狀態 show variables like '%slow%'; 執行結果會把是否開啓慢查詢、慢查詢的秒數、慢查詢日誌等信息打印在屏幕上。 第三步:執行一次慢查詢操做 下語句代替: SELECT SLEEP(10); 第四步:查看慢查詢的數量 經過以下sql語句,來查看一共執行過幾回慢查詢: show global status like '%slow%'; explain:分析會不會用到索引,但不能分析出用多少時間 導入大量數據時: alter table table_name disable keys; loading data; alter table table_name enable keys; 查看見表SQL: show create table table_name; 對於 myisam數據庫,須要定時清理 optimize table 表名 用鏈接代替子查詢 使用join,mysql不須要在內存中國年建立臨時表 若是想要 or 用到索引則,or的條件必須都加索引 在精度要求較高的項目中,用定點數來來保存,以保證準確性 所有用 decimal 更準確 date 函數最多 2038 年 此時的時間戳正好爲 int 有符號的最大值 查看索引的使用狀況 show status like 'handler_read'; handler_read_key: 高了好 handler_read_rnd_next: 低了好 字段的類型匹配不一致可能會用不到索引: 字符串型字段 = 123 用不到索引 字符串型字段 = "123" 能夠用索引
關於索引mysql
1,在建立一個n列的索引時,實際是建立了MySQL可利用的n個索引。
多列索引可起幾個索引的做用,由於可利用索引中最左邊的列集來匹配行。
KEY `gb_index_FUid_FCityId_FStatus` (`FUid`,`FCityId`,`FStatus`)
可利用多個索引:
FUid
(FUid, FCityId)
(FUid,FCityId,FStatus)
2,對字符串創建索引後,查詢時必定要加引號,不然不能使用索引。
3,mysql對於索引的順序是有優化的
Where FUid = xxx and FCityId = yyy
和
Where FCityId = yyy and FUid = xxx
Mysql都會使用索引(FUid, FCityId)
4,join on的列加索引,效果很好。
5,in查詢中,若是值太多,能夠考慮換一種實現方式。
6,對於merg表,若是有join查詢,能夠將merge表的join查詢替換成多個子表的join查詢,最後union結果。(原來搜索腳本就是這樣進行優化的)。