use*_*886 2 mysql sql database database-design
似乎mysql只提供四种索引,分别是primary,unique,key,fulltext和spatial.但我想知道如何声明那些不是唯一但经常被索引的列的索引?因为我的数据库服务器遇到了瓶颈,我想为经常索引的列创建索引.
任何帮助,将不胜感激.提前致谢.
Bra*_*vic 12
请区分"密钥"和"索引".
前者是一个逻辑概念(限制,因此改变数据的含义),后者是物理的(不改变含义,但可以改变性能)1.
让我们直截了当地了解基本概念:
不幸的是,MySQL已经将术语搞砸了:
例如,两者......
CREATE TABLE T (
A INT PRIMARY KEY,
B INT
);
CREATE INDEX T_IE1 ON T (B);
Run Code Online (Sandbox Code Playgroud)
...和...
CREATE TABLE T (
A INT KEY,
B INT,
KEY (B)
);
Run Code Online (Sandbox Code Playgroud)
...意思相同:A上的主键(A上有唯一/聚簇索引)和B上的非唯一索引.
1独特的指数在这里是一个古怪的东西 - 它跨越两个世界一点点.但让我们再讨论这个问题......
2例如,InnoDB 将表格集中在主键上.