MySQL數據庫使用時注意事項


MySQL數據庫使用時注意事項

建表的角度上

1、合理安排表關系
2、盡量把固定長度的字段放在前面
3、盡量使用char  代替varchar
4、分表:水平分和垂直分

在使用sql語句的時候

1、盡量用where來約束范圍到一個比較小范圍的程度,比如分頁
2、盡量使用連表查詢,而不是使用子查詢
3、刪除數據或者修改數據的時候盡量使用主鍵作為條件
4、合理創建和時候用索引

合理創建和時候用索引

正確使用索引
1、查詢的條件字段不是索引字段,對哪一個字段創建了索引就對哪一個字段做條件查詢
2、在創建索引的時候應該對區分度比較大的列進行創建
   1/10以下的重復率比較適合創建索引
3、范圍
   范圍越大越慢
   范圍越小越快
   != 慢
   like 'a%' 快
   like '%a' 慢
4、條件列參與計算/使用函數
5、and 和 or
   多個條件的組合,如果使用and連接,其中一列含有索引,都可以加快查找速度
   如果使用or連接,必須所有的列都含有索引,才能加快查詢速度

6、聯合索引 (最左前綴原則)必須帶這最左邊的列作為條件,從出現范圍開始整條索引失效
(id,name,email)
            select * from s1 where id = 1800000 and name = 'eva' and email = 'eva1800000@oldboy';
            select * from s1 where id = 1800000 and name = 'eva';
            select * from s1 where id = 1800000 and email = 'eva1800000@oldboy';
            select * from s1 where id = 1800000;
            select * from s1 where name = 'eva' and email = 'eva1800000@oldboy';
            (email,id,name)
            select * from s1 where id >10000 and email = 'eva1800000@oldboy';


7、條件中寫出來的數據類型必須和定義的數據類型一致
   select * from biao where name = 666   # 不一致
8、select的字段應該包含order by的字段
   select name,age from 表 order by age  比較好
   select name from 表 order by age  不好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM