(难)某个表已经有2000W的数据,怎么优化?

geass 2012-12-25 04:09:04
最近接手维护一个项目,其中有3个表的数据特别大,其中有个表的数据已经去到 2000W了。6.57 G
有什么方法可以尽量优化一下。
...全文
284 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2012-12-25
  • 打赏
  • 举报
回复
1、硬件方面应该没问题。主要问题在设计 2、把字符列改了,用alter table来改,反正绝大部分也不可能存满,所以改了没问题。 3、username、password(这个可以考虑不加,如果是varbinary的话),加上索引 4、看看是否有毕业去除select * 而改用需要的列。 5、试一下把一些逻辑合起来,进入一个界面看看有没有可能一步到位。
geass 2012-12-25
  • 打赏
  • 举报
回复
引用 10 楼 xyc880813 的回复:
2000w的数据,不到7G的空间实际上是没啥问题的。 另外问下,你的服务器内存多少?硬盘是否raid?转速多少?空间多大?
服务器硬件 8G内存,2核cpu。系统开始时的设计就没做好,字符列的类型都是 NVarchar(max),连索引都加不了 现在系统从登录开始就慢。用户表有50W数据,在查询分析器直接查 select * from USER where username='xxx' and password='xxx' 返回一条数据都要 2秒钟,之后还到2千万的表去查数据。进入第一个界面就差不多要1分钟。
xyc880813 2012-12-25
  • 打赏
  • 举报
回复
2000w的数据,不到7G的空间实际上是没啥问题的。 另外问下,你的服务器内存多少?硬盘是否raid?转速多少?空间多大?
KevinLiu 2012-12-25
  • 打赏
  • 举报
回复
先看看你表的使用状况然后再寻求解决办法,不同的使用会有不同的优化方法。
發糞塗牆 2012-12-25
  • 打赏
  • 举报
回复
引用 7 楼 geass 的回复:
引用 6 楼 sz_haitao 的回复: 分区是最先考虑的:硬件无须增加,应用无须改动 分区 有什么好的参考资料。
联机丛书.....
geass 2012-12-25
  • 打赏
  • 举报
回复
引用 6 楼 sz_haitao 的回复:
分区是最先考虑的:硬件无须增加,应用无须改动
分区 有什么好的参考资料。
haitao 2012-12-25
  • 打赏
  • 举报
回复
分区是最先考虑的:硬件无须增加,应用无须改动
guguda2008 2012-12-25
  • 打赏
  • 举报
回复
先了解他们对这几张表都有哪些操作,然后看看能不能以尽量小的代价做分区或分表
發糞塗牆 2012-12-25
  • 打赏
  • 举报
回复
单表查询也要看你要什么数据,如果你是select * from 表,那基本上没优化空间,具体要看where和查询的字段进行优化,主要是索引和统计信息。
geass 2012-12-25
  • 打赏
  • 举报
回复
基本上都是单表查询。
nzperfect 2012-12-25
  • 打赏
  • 举报
回复
优化无止境,先看有什么问题吧。。
开启时代 2012-12-25
  • 打赏
  • 举报
回复
查询慢 就做索引,有索引还慢 就重建索引 ,还不成 就表分区 还不成就换个项目吧 。 优化首先考虑需求 ,没需求 怎么去优化

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧