smi*_*ith 2 mysql database indexing
我的mysql数据库有一个包含3列的表,
它的结构:
CREATE TABLE `Table` (
`value1` VARCHAR(50) NOT NULL DEFAULT '',
`value2` VARCHAR(50) NOT NULL DEFAULT '',
`value3` TEXT NULL,
`value4` VARCHAR(50) NULL DEFAULT NULL,
`value5` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`value1`, `value2`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
Run Code Online (Sandbox Code Playgroud)
第一列和第二列是:
varchar(50)
它们都结合了第三列的主键
text,
该表包含大约1000000条记录,我使用第一列进行搜索,需要几分钟
搜索特定项目.
我如何索引此表以加快我的搜索速度以及使用哪种索引类型?
50 + 50个字符的主键?它包含什么?你应该把桌子放在第3范式吗?听起来钥匙本身可能包含一些信息,听起来像是一个警钟.
如果您可以使用其他更短且易于管理的内容来更改主键,则可以尝试以下几种方法:
SELECT FROM xcve_info PROCEDURE ANALYSE()value1,该索引可能不应该是主键的一部分始终检查更改的性能,看看它们是否值得.