数据库.mdf文件太大,查询慢怎么办?
一个网站的数据库23万条数据,查询非常慢,一检查数据库的.mdf文件有4.4G.郁闷啊,
现在有2个问题:
1,不知道有什么办法可以提示查询的首都(一查询sqlever.exe就把服务器2G的内存吃光卡)
2,存在进去的都是英文单词,类似文章的不知道为什么.mdf会变的这么大?
一个网站的数据库23万条数据,查询非常慢,一检查数据库的.mdf文件有4.4G.郁闷啊,
现在有2个问题:
1,不知道有什么办法可以提示查询的首都(一查询sqlever.exe就把服务器2G的内存吃光卡)
2,存在进去的都是英文单词,类似文章的不知道为什么.mdf会变的这么大?
--> 4.4G不算大,查询的语句是什么.1,不知道有什么办法可以提示查询的首都(一查询sqlever.exe就把服务器2G的内存吃光卡)
--> 查询的首都? 不懂.2,存在进去的都是英文单词,类似文章的不知道为什么.mdf会变的这么大?
--> 可以收缩一下数据库,但这个不是主要问题.
当务之急先解决查询慢的问题.
目前sql是这样写的,今天打算写成"存筹过程"不知道速度会不会快点/////////////////////////////////////////////////////////////
select Company_ID,b2bb2c,CountryName,CompanyName,Productclass from Company_Info where CountryNameid='31' and b2bb2c='B2B' and Productclass='1' order by Company_ID desc关键字查询的数据字段
CountryNameid varchar(50)
CountryNameid varchar(50)
Productclass varchar(50)一查询非常慢,然后就提示超时,很奇怪的是有几次速度非常快,但基本上都是慢,求解?
CountryNameid,
Productclass
两个列建索引,如果
b2bb2c
只有两个值'B2B'和'B2C'的话,不要建索引.
Company_ID 应该建聚集索引的,如果没有的话,要建如果已经建了索引,建议执行一次重建索引:
DBCC DBREINDEX databasename.owner.tablename
from Company_Info (nolock)
where CountryNameid='31' and b2bb2c='B2B' and Productclass='1'
order by Company_ID desc
一个网站的数据库23万条数据,查询非常慢,一检查数据库的.mdf文件有4.4G.郁闷啊,
现在有2个问题:
1,不知道有什么办法可以提示查询的首都(一查询sqlever.exe就把服务器2G的内存吃光卡)
2,存在进去的都是英文单词,类似文章的不知道为什么.mdf会变的这么大?
硬件方面
还是本省服务的处理能力有关系另外还与内存大小有关系,最好的解决办法花些money,加大内存,提高cpu的处理能力。
软件方面
重新建立大表的索引。
4.4G.mdf数据库不大。
如果没有足够多的money的话,还是增加内存。
内存和房间一样大,CPU和床一样大就行了.
CountryNameid varchar(50)
Productclass varchar(50)==================================
这些字段用 int 类型代替,整数类型比字符类型快的多
1000W条数据有可能需要用分区表来解决了 如果不用 就需要加合适的索引 2,硬件方面:内存要多大,cpu要多大比较好?
8G CPU尽量性能比较高的吧