我在数据库表中有大约200000行,当我执行我的搜索查询时,它需要大约4-5秒才能在下一页给我结果。我希望执行速度快,页面应该少于2秒。 以下是表格设计
Create table xml(
PID int not null,
Percentdisc int not null,
name varchar(100) not null,
brand varchar(30) not null,
store varchar(30) not null,
price int not null,
category varchar(20) not null,
url1 varchar(300) not null,
emavail varchar(100) not null,
dtime varchar(100) not null,
stock varchar(30) not null,
description varchar(200) not null,
avail varchar(20) not null,
tags varchar(30) not null,
dprice int not null,
url2 varchar(300),
url3 varchar(300),
sid int primary key auto_increment);
选择使用的查询
select * from xml where (name like '%women%)
用于在表格中添加的索引查询
alter table xml add index(NAME)
但仍然加载时间是4-5秒。请指导一下......
答案 0 :(得分:1)
您的索引对性能的影响很小,因为您正在做一些喜欢%'%的事情。 它仍然必须扫描整个表名称的所有内容,以便能够找到值所在的记录。 因此,您已正确地使用索引扫描替换了表扫描。
索引可以帮助的唯一方法是,如果你可以做一些喜欢的事情,那就是'在那种情况下。
因此,您可能需要重新考虑您的结构,以获得您所追求的目标。
答案 1 :(得分:1)
使用LIKE
关键字时,如果文本以%
开头,则无法使用索引