表结构
id kws reply
1 abc 123
2 abc 1234
3 cba 321
4 bca 321我使用
$sql->SetQuery("SELECT * FROM `reply` where kws like '%abc%' order by id DESC ");
$sql->Execute('L');
while($row=$sql->GetArray('L'))
{
处理
}
输出所有有关abc的reply
如果数据量非常大估计100万
那会不会降低速度
有没好的例子代码?
和表的结构?
id kws reply
1 abc 123
2 abc 1234
3 cba 321
4 bca 321我使用
$sql->SetQuery("SELECT * FROM `reply` where kws like '%abc%' order by id DESC ");
$sql->Execute('L');
while($row=$sql->GetArray('L'))
{
处理
}
输出所有有关abc的reply
如果数据量非常大估计100万
那会不会降低速度
有没好的例子代码?
和表的结构?
建议用数据冗余的方法解决问题。
如果不用like 有没别的方法读取出来
我不使用like的模糊搜索!我二楼说了...仅仅的使用like '值'
给你一种表结构把
留言ID 用户ID 内容 被回复ID(本表的留言ID)
这个表的被回复ID我习惯称为父ID,父ID为被回复的ID号
不用like 还有什么办法速度快 利用索引如果用like 我也不使用like的模糊搜索这样如何呢?
%
匹配任何数目的字符,甚至包括零字符
_
只能匹配一种字符
mysql> SELECT 'David!' LIKE 'David_'; -> 1mysql> SELECT 'David!' LIKE '%D%v%'; -> 1
你如果是 SELECT * FROM `reply` where kws like 'abc'
那么不是就等于SELECT * FROM `reply` where kws='abc' 吗?不加通配符,还要like做什么呢?
PS:like '%abc%'不能使用索引,like 'abc%'可以
建立了主键
然后where kws='你好'用时 0.04s
如果是3000条是 0.003s20W开始减速...