100万数据快速where的思路? 以前数据不多。没注意。现在数据上百万了where好慢。。哪位大哥有思路?很简单的栏目-数据模式id cidid 栏目idselect * from table wehre cid=xxx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对where后面的字段建立索引。 如果你的where中没有用到模糊查询的话,就考虑用索引来解决你的问题。 id cidid 栏目idselect * from table wehre cid=xxx加索引cid 加索引,优化语句,不要用*,条件要明确,wehre改成where 加索引cid分页查询数据 依情况而定,看楼主where条件中数据是 几个重复的,还是不重复,建立聚集索引和非聚集索引。 那就在栏目id上建个聚集索引查询的时候把栏目id也加进去过滤 被where order by group by 的字段要加上索引。 select top 1 * from table wehre cid=xxx 使用聚集索引或非聚集索引来提高性能.。 尽量的根据查询需求来优化SQL语句. 根据执行计划等某些情况来选择是否对表进行水平分区 估计楼主的cid是用的字符串, 如果能设计成数字的话,应该就没这个问题了, 不过索引还是应该的. 加索引cid用控件显示的话要分页 给CID建立索引,如果where有过多条件的话建议与索引配合使用 如果cid建了索引,还很慢,应该是数据量太大的原因,一般就不是SQL语句能简单搞定的了,应该在程序中做缓存 如果没有模糊查询的功能的话,建索引时所选。【当然数据库自动已经把主键id建成了索引了。不过栏目id上的索引还需要你根据需要自己建】 create index这是必须的 sqlserver似乎不用在意select * 的问题,所有语句都会先经过自动优化再执行的当然我也是看别人的文章 CID建立索引,如果where有过多条件的话建议与索引配合使用 那你看走眼了*表示所有的字段,传输的数据量有时候是巨大的(假如一个表有20个字段,用*就表示所有的返回,其实你只要返回ID,name,你可以计算一下传输量的差别),你所说的优化不会给你缩减字段的,但是Count(*),以及count(name),count(*)会给你优化都到Count(id)上去,id为主键的话 不要用*吧,索引是要有的。然后弄个存储过程。模糊搜索的话,不要like,用patindex吧 htmleditor在线编辑器 如何把数据显示到编辑器框里 asp.net 操作word 急~~~~ asp.net中判断上传的文件是不是EXCEL文件的正则表达式 HttpModule问题 关于asp.net数据源控件 如何单击Button提交后,Button所在层继续可见 如何在cs中跳转到其它页面时使用target? 高分求解owc画折线图的c#代码 关于动态变化table背景的问题! 一直都无法解决的问题:关于无模式窗口问题?showmodelessdialog方法 GridView回车换行 我继承了WEB的DataGrid类,但是应该如何使用呢
id 栏目idselect * from table wehre cid=xxx加索引cid
分页查询数据
看楼主where条件中数据是 几个重复的,
还是不重复,
建立聚集索引和非聚集索引。
尽量的根据查询需求来优化SQL语句.
根据执行计划等某些情况来选择是否对表进行水平分区
估计楼主的cid是用的字符串, 如果能设计成数字的话,应该就没这个问题了, 不过索引还是应该的.
用控件显示的话要分页
【当然数据库自动已经把主键id建成了索引了。不过栏目id上的索引还需要你根据需要自己建】
sqlserver似乎不用在意select * 的问题,所有语句都会先经过自动优化再执行的
当然我也是看别人的文章
那你看走眼了
*表示所有的字段,传输的数据量有时候是巨大的(假如一个表有20个字段,用*就表示所有的返回,其实你只要返回ID,name,你可以计算一下传输量的差别),你所说的优化不会给你缩减字段的,但是Count(*),以及count(name),count(*)会给你优化都到Count(id)上去,id为主键的话