Mysql索引以及使用索引注意事項
直接建立索引
CREATE INDEX index_name ON table(column(length))
修改表結構的方式新增索引
ALTER TABLE table_name ADD INDEX index_name ON (column(length))
建立表的時候同時建立索引
CREATE TABLE table
(
id
int(11) NOT NULL AUTO_INCREMENT ,
title
char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
content
text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
time
int(10) NULL DEFAULT NULL ,
PRIMARY KEY (id
),
INDEX index_name (title(length))
)
刪除索引
DROP INDEX index_name ON table
索引使用和注意事項
避免索引失效
1). 全值匹配,對索引中所有列都指定具體值。改情況下,索引生效,執行效率高。
2).最左字首法則 如果索引了多列,要遵守最左字首法則。指的是查詢從索引的最左前列開始,並且不跳過索引中的列。
3).範圍查詢右邊的列,不能使用索引。
4).不要在索引列上進行運算操作,引將失效。
6).儘量使用覆蓋索引,避免select * 儘量使用覆蓋索引(只訪問索弓|的查詢(引列完全包含查詢列) ) , 減少select*。
查詢列超過索引列也會降低效率
7).用or分割開的條件,如果or前的條件中的列有索引,而後面的列中沒有索引,那麼涉及的索引都不會被用到。
示例, name欄位是索引列,而createtime不是索引列,中間是or進行連線是不走索引的:
8).以%開頭的Like模糊查詢,索引失效。如果僅僅是尾部模糊匹配,索引不會失效。如果是頭部模糊匹配,引失效。
9).如果MySQL評估使用索引比全表更慢。則不使用索引。
10).is NULL,is NOT NULL有時索引失效。
11). in走索引,not in索引失效。
12).單列索引和複合索引。儘量使用複合索引,而少使用單列索引。
檢視索引使用情況
show status like 'Handler_ read%' ;
當前會話
show global status like 'Handler. read%' ;
全域性
相關文章
- MySQL 資料庫-索引注意事項MySql資料庫索引
- MySQL索引事務MySql索引
- MySql索引那些事MySql索引
- Oracle vs PostgreSQL,研發注意事項(12) - NULL與索引OracleSQLNull索引
- MySQL半同步使用注意事項MySql
- Mysql索引使用MySql索引
- PureComponent 使用注意事項以及原始碼解析原始碼
- cookie的使用方法以及注意事項Cookie
- MySQL 索引原理以及優化MySql索引優化
- MySQL 的索引和事務MySql索引
- Mysql基礎 --- 索引+事務MySql索引
- MySql索引使用策略MySql索引
- MySQL索引那些事:什麼是索引?為什麼加索引就查得快了?MySql索引
- 圖解MySQL索引(三)—如何正確使用索引?圖解MySql索引
- MySQL 禁止使用 HASH 索引MySql索引
- mysql索引使用基礎MySql索引
- MySql如何使用索引(一)MySql索引
- MySql如何使用索引(二)MySql索引
- mysql索引之字首索引MySql索引
- ElasticSearch 索引 VS MySQL 索引Elasticsearch索引MySql
- MySQL 8.0.20 MGR資料遷移過程以及注意事項MySql
- MySQL索引、事務與儲存引擎MySql索引儲存引擎
- MySQL索引、事務以及儲存引擎的相關知識和命令MySql索引儲存引擎
- React生命週期以及注意事項React
- MySQL 字串索引和字首索引MySql字串索引
- MySQL索引系列:全文索引MySql索引
- MySQL 索引MySql索引
- [Mysql]索引MySql索引
- mysql索引MySql索引
- MySQL — 索引MySql索引
- MySQL的索引原理及使用MySql索引
- MySQL全文索引的使用MySql索引
- 深入淺出Mysql索引的那些事兒MySql索引
- MySQL 核心三劍客 —— 索引、鎖、事務MySql索引
- mysql 拾遺提高(函式、事務、索引)MySql函式索引
- MySQL 唯一索引和普通索引MySql索引
- mysql組合索引,abc索引命中MySql索引
- Oracle使用*的注意事項Oracle