当前位置:数据库 > MySQL >>

mysql效率问题

300W数据表test,select count(*) as total from test where username like '%xxx%'时竟要1.3秒的时间。已建索引。求如何高效查询!
补充:因为要模糊查询,必须like '%xxx%',虽然知道这样索引就没用了。
追问:能简单介绍下sphinx如何使用吗?急用,来不急看介绍了。。谢谢呵有最新版本下载地址吗?网 上看的都是03年1.0版的。有没有其它解决方法,0.1秒以内可能么?后台搜索会员名,应该没法子特别明确。我也知道不算大,所以想问下如何控制在0.1秒以内。如何优化呢?
答案:mysql+linux 
用sphinx   
亿条记录查询可以到微秒级(0.001~0.01秒)

在不改变你的Mysql数据库设计架构,sql语句where条件的前提下,这条sql语句确实优化余地不大。
其他:300W说实话数据量不是很大,你模糊查询的时候建索引效果不明显.

看了你上面的SQL语种唯一做优化的地方就是用:select count(1) as total.......

用count(1)的效率比用count(*)快,不过基于1.3秒效果再优化也不怎么明显了. 去 it168论坛里问下  可以解决的 你可以强制走索引.
把数据量加到1000w.看看走索引的效率如何. 300W说实话数据量不是很大,你模糊查询的时候建索引效果不明显. dsa 300w  1.3秒  看来我的数据库  需要优化了,呵呵 

上一个:mysql 远程连接
下一个:php mysql优化 这个执行效率太低了 怎么优化一下这个sql呀

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,