SQL语句写法:如何一次性从百万条记录中找到希望的数据?

SQL语句写法:如何一次性从百万条记录中找到希望的数据?,第1张

首先在zd1和zd2上建立索引

Select [texts] from [tables] where (zd1<23456 and zd2>23456) or (zd1<13567 and zd2>13567) or (zd1<67543 and zd2>67543) ......

上面这样只能在输出的时候按顺序对比排序

Select [texts] from [tables] where (zd1<23456 and zd2>23456)

union

Select [texts] from [tables] where (zd1<13567 and zd2>13567 )

union

Select [texts] from [tables] where (zd1<67543 and zd2>67543)

这样可以直接按顺序输出.但不知道效率怎样..

楼上的大哥....人家没说一定是SQL Server数据库吧..聚集索引是SQL Server的概念.1楼有一点说对了..创建索引是可以优先考虑的选择,但是,并不是索引就一定会加快查询速度的..另外,索引是很消耗磁盘空间的,这点也需要考虑清楚..主流的数据库,在建表的时候就规定了主键和外键的话,那么对应的主键和外键会自动加索引的.另外SQL语句的好坏可能会造成数倍的查询速度的差别..写SQL的时候有二个基本的原则,一.越接近数据库核心的SQL语句查询速度越快.即:用通用的标准SQL函数或语法,一定会比数据库产品扩展的SQL要快大约80%所有二.优先使用子查询而不是关联查询,比如表关联(即FROM后面有多个表)...SQL语句也是可以优化的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6423980.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存