Ein Index ist eine spezielle Datei, die Zeiger enthält, die von allen Datensätzen verwendet werden. Genau wie das Inhaltsverzeichnis eines Buches beschleunigt es das Auffinden eines Buches. Ohne Indizes ist eine Datenbank nahezu unbrauchbar. Jemand sagte einmal scherzhaft: Wenn MySQL einen Index verwendet, ist es ein Lamborghini, wenn es keinen Index verwendet, ist es bestenfalls ein von Menschen angetriebenes Dreirad.
Indizes werden in Clustered-Indizes und Nicht-Clustered-Indizes unterteilt. Clustered-Indizes verbessern die Abrufgeschwindigkeit mehrerer Zeilen, und nicht gruppierte Indizes verbessern die Abrufgeschwindigkeit einzelner Datenzeilen. Unter den Funktionen der Datenbank können drei Arten von Indizes erstellt werden: eindeutiger Index, Primärschlüsselindex und Clustered-Index.
Gewöhnlicher Index ist ein Index ohne Einschränkungen: CREATE
INDEX
index_name
ON
table
(
column
(col_name));它是MYIASM数据库引擎默认的BTREE类型的索引。使用navicat导出mysql数据库脚本的时候经常会看到这样的字段。
<strong> 唯一索引</strong>是在普通索引的基础上保证索引列的值必须唯一,除主键外可以有空值。建立过程:
CREATE UNIQUE INDEX indexName ON table(column(length))
索引的利弊:
>
索引大大提高查询与排序速度,但是会小号数据保存与更新效率。索引需要生成索引文件,当大量使用组合索引的话,索引文件就会迅速膨胀。 针对这些问题,提出了以下优化方法:
1. Wann sollte ein Clustered-Index oder ein Nicht-Clustered-Index verwendet werden? Clustered-Index verwenden 2. 使用短索引列。 但对于一下查询语句是无效的: 以上就是mysql数据库-索引的内容,更多相关内容请关注PHP中文网(www.php.cn)!<br>Aktionsbeschreibung< /td> Nicht- Clustered-Index Index Spalten werden oft gruppiert und sortiert Verwenden Verwenden Zurück zu einem bestimmten Bereich. Die Daten innerhalb Verwendet Nicht verwendet Ein oder sehr wenige unterschiedliche Werte Nicht verwendet Nicht verwendet Kleine Anzahl unterschiedlicher Werte Verwenden Nicht verwenden Große Anzahl verschiedener Werte Nicht verwendet Verwenden Häufig aktualisierte Spalten Nicht verwenden Verwenden Sie Fremdschlüsselspalte Verwenden Verwenden Primärschlüsselspalte Verwenden Verwenden Sie Indexspalten häufig ändern Nicht verwenden< /td> Verwenden <strong>
</strong>索引列如果使用varchar(255)的话会让索引文件变大,不利于检索,这255个字符中前10或20个字符能够保证索引唯一的话,就使用这些字段作为索引列即可。
3.
like语句
在数据库操作中不建议使用like语句,但费用不可时,like"%aaa%"不会使用索引而like“aaa%”则可以使用索引。
4.
不要再索引列执行运算,这样会导致索引失效。
5.
使用越小越简单的数据类型越好;尽量避免null;
6.
组合索引仅能对索引最左边的索引进行有效查询。如:
索引列为c1,c2,以下查询语句有效:
select * form table where c1=1 and c2=2;
select * from table where c1=1;
select * from table where c2=2;
<br>
<br>