国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql建表與索引使用規范詳解

2024-07-24 12:48:15
字體:
來源:轉載
供稿:網友

一、 MySQL建表,字段需設置為非空,需設置字段默認值。
二、 MySQL建表,字段需NULL時,需設置字段默認值,默認值不為NULL。
三、 MySQL建表,如果字段等價于外鍵,應在該字段加索引。
四、 MySQL建表,不同表之間的相同屬性值的字段,列類型,類型長度,是否非空,是否默認值,需保持一致,否則無法正確使用索引進行關聯對比。
五、 MySQL使用時,一條SQL語句只能使用一個表的一個索引。所有的字段類型都可以索引,多列索引的屬性最多15個。
六、 如果可以在多個索引中進行選擇,MySQL通常使用找到最少行的索引,索引唯一值最高的索引。
七、 建立索引index(part1,part2,part3),相當于建立了 index(part1),index(part1,part2)和index(part1,part2,part3)三個索引。
八、 MySQL針對like語法必須如下格式才使用索引:
     SELECT * FROM t1 WHERE key_col LIKE 'ab%' ;
九、 SELECT COUNT(*) 語法在沒有where條件的語句中執行效率沒有SELECT COUNT(col_name)快,但是在有where條件的語句中執行效率要快。
十、 在where條件中多個and的條件中,必須都是一個多列索引的key_part屬性而且必須包含key_part1。各自單一索引的話,只使用遍歷最少行的那個索引。
十一、 在where條件中多個or的條件中,每一個條件,都必須是一個有效索引。
十二、 ORDER BY 后面的條件必須是同一索引的屬性,排序順序必須一致(比如都是升序或都是降序)。
十三、 所有GROUP BY列引用同一索引的屬性,并且索引必須是按順序保存其關鍵字的。
十四、 JOIN 索引,所有匹配ON和where的字段應建立合適的索引。
十五、 對智能的掃描全表使用FORCE INDEX告知MySQL,使用索引效率更高。
十六、 定期ANALYZE TABLE tbl_name為掃描的表更新關鍵字分布 。
十七、 定期使用慢日志檢查語句,執行explain,分析可能改進的索引。
十八、 條件允許的話,設置較大的key_buffer_size和query_cache_size的值(全局參數),和sort_buffer_size的值(session變量,建議不要超過4M)。
備注
主鍵的命名采用如下規則:
主鍵名用pk_開頭,后面跟該主鍵所在的表名。主鍵名長度不能超過30個字符。如果過長,可對表名進行縮寫。縮寫規則同表名的縮寫規則。主鍵名用小寫的英文單詞來表示。
 
外鍵的命名采用如下規則:
外鍵名用fk_開頭,后面跟該外鍵所在的表名和對應的主表名(不含t_)。子表名和父表名自己用下劃線(_)分隔。外鍵名長度不能超過30個字符。如果過長,可對表名進行縮寫。縮寫規則同表名的縮寫規則。外鍵名用小寫的英文單詞來表示。

索引的命名采用如下規則:
1)索引名用小寫的英文字母和數字表示。索引名的長度不能超過30個字符。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汨罗市| 深州市| 达孜县| 漳平市| 宜良县| 葫芦岛市| 巫山县| 和硕县| 吉安市| 乌恰县| 喀喇沁旗| 宁乡县| 城固县| 额尔古纳市| 深圳市| 台北县| 右玉县| 介休市| 马龙县| 克山县| 洞头县| 滨海县| 桃园市| 兴山县| 西乌珠穆沁旗| 武隆县| 东阳市| 新乡县| 三原县| 通河县| 剑阁县| 渑池县| 吉安市| 博爱县| 宜州市| 曲靖市| 天台县| 云浮市| 保亭| 桐城市| 平潭县|