没必要一次性查出100W条。每次请求3-5W数据update,分页用递归。
10年积累的网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有宾阳免费网站建设让你可以放心的选择与我们合作。
控制好变量内存,不要内存溢出。
经验证 用
insert into tblname Values ( value1,value2, value3),( value1,value2, value3),( value1,value2, value3),( value1,value2, value3),( value1,value2, value3)....
这样的语句效率最高 , 但是 语句长度有限制 , 一般控制在每次 2万记录 可以在1秒钟以内
1.建立索引,尽可能把索引建立到你你经常比较的字段上,如select a,b,c,d from a where 索引字段=值,这个索引字段最好是数值型数据
2.慢有更多情况,
情况1:远程查询,其实可能查询不慢,由于数据量大,传输过程慢
情况2:WHERE 后面的比较数据太多,比如 like 类的语句
情况3:需要哪个字段只取那个字段就行了,比如select * from a与select b,c,d from a速度是有差距的
3.数据库定期维护,压缩,把不常用的数据备份后放入备份库里,查询时查备份库等
问题补充:
.第一条:建立索引,怎么建立,我也听说过,但不知道怎么使用
答:每种数据建立索引的方法有差异,比如SQL SERVER 2000中可对多个字段进行索引,比如SQL SERVER2000中有命令
CREATE INDEX
为给定表或视图创建索引。
只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。
语法
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH index_option [ ,...n] ]
[ ON filegroup ]
index_option ::=
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}
第三条:数据库定期维护,压缩:怎么个压缩法?及时备份数据到备份库查询备份库,那查询时不是还慢吗?
答:这个有压缩工具,基本上每种数据库都有自己的压缩数据库的工具
1.避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等这样的操作符。
2.优化SQL语句(让SQL语句更合理一些)。
3.优化数据库字段类型。(能用其他的尽量不要用VCHAR)
4.建立储存过程。