怎样给sql语句索引?

$sql="select * from ve123_links where title<>'' and url like '%".str_replace("site:","",$domain)."%'";

这是一个搜索语句,mysql数据库才有8万条数据,搜索时就很慢了,请问怎样加索引?
php/mysql

这个语句用不了索引,因为第一个谓词title<>''是个不等于,使用索引扫描和表扫描是一样的,第二个谓词是字符串匹配,索引也无法起到作用.所以对这个查询,数据库肯定是要执行表扫描,而且在URL这个字段上还要执行字符串匹配,所以很慢
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-15
ALTER TABLE 表名 ADD CONSTRAINT PK__索引名 PRIMARY KEY CLUSTERED ( 字段 ASC)
第2个回答  2011-11-15
建议你把那些最常用的查询条件作为关键字,在表中设置索引。 动态也可以用SQL 语句
第3个回答  2011-11-16
create index idx_ve123_links on ve123_links (title,url);