无可避免面对的sql问题
2015-09-15 14:44
295 查看
对于sql查询,在我的理解就是增删改查,还能干啥?
简单的模糊查询是,select * from table where number like '%张三%'
为了使查询更加快捷,我一般不会使用* ,一般都是使用的字段,select id,name,number from table where number like '%张三%'
但是这样的查询对于一般查询完全OK,但是当遇到另外一种情况
文章列表.检索文章内容的时候,我就发现了问题,慢,龟速,比龟速还慢.因为like的性能比较不给力.这个时候,我就会找新的解决方案
创建索引无非是一个办法,是一个解决方案,索引创建OK,再就是查询,如果你此时用like查询,还是相对较慢.
查询语法得改进.CONTAINS (包含)
如果包含关键字就显示
1300+的完整的文章,查询速度大约在100毫秒到3秒之间.文章内容完整丰富的情况下
如果用 like 查询,同一台数据库的数据要在30秒以上的时间.快的速度不是一点半点
但是like的优点就是准确,精准. contains就是快,但是精准谈不上
那么综合以上描述,从用户体验来考虑,当你的数据加载很慢 慢的超过了用户的耐心,用户也许就会放弃你的网站
但是如果速度很快,虽然不是特别的精准,但是大致内容没有太多的变化,用户也会
contains 查询 测试1 会搜索出 '测试'的结果
like 查询 测试1 只显示'测试1'结果
本篇文章,只是给自己的成长道路上留下一个脚印,
参考 : http://bbs.csdn.net/topics/391829329?page=1#post-400382554
检测数据库
select databaseproperty('table','isfulltextenabled')
修改数据库属性
EXEC sp_fulltext_database 'enable'
简单的模糊查询是,select * from table where number like '%张三%'
为了使查询更加快捷,我一般不会使用* ,一般都是使用的字段,select id,name,number from table where number like '%张三%'
但是这样的查询对于一般查询完全OK,但是当遇到另外一种情况
文章列表.检索文章内容的时候,我就发现了问题,慢,龟速,比龟速还慢.因为like的性能比较不给力.这个时候,我就会找新的解决方案
create unique clustered index index_ID on table(id) ----创建全文目录*/ create FULLTEXT CATALOG FT AS DEFAULT ----创建全文索引*/ create FULLTEXT INDEX ON table(content) key index index_ID ON FT
创建索引无非是一个办法,是一个解决方案,索引创建OK,再就是查询,如果你此时用like查询,还是相对较慢.
查询语法得改进.CONTAINS (包含)
如果包含关键字就显示
SELECT * from dbo.table WHERE CONTAINS (content, '测试');
1300+的完整的文章,查询速度大约在100毫秒到3秒之间.文章内容完整丰富的情况下
如果用 like 查询,同一台数据库的数据要在30秒以上的时间.快的速度不是一点半点
但是like的优点就是准确,精准. contains就是快,但是精准谈不上
那么综合以上描述,从用户体验来考虑,当你的数据加载很慢 慢的超过了用户的耐心,用户也许就会放弃你的网站
但是如果速度很快,虽然不是特别的精准,但是大致内容没有太多的变化,用户也会
contains 查询 测试1 会搜索出 '测试'的结果
like 查询 测试1 只显示'测试1'结果
本篇文章,只是给自己的成长道路上留下一个脚印,
参考 : http://bbs.csdn.net/topics/391829329?page=1#post-400382554
检测数据库
select databaseproperty('table','isfulltextenabled')
修改数据库属性
EXEC sp_fulltext_database 'enable'
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- PostgreSQL教程(十九):SQL语言函数
- SQL Server复制需要有实际的服务器名称才能连接到服务器
- SQL Server 2000向SQL Server 2008 R2推送数据图文教程