有一个表格,有数万条记录,如何更快的查询和加入一条记录?

xlander 2006-09-09 09:45:31
比方说我有一个字段Title,存储的是一个长度不超过200的字符串。

我用nvarchar类型,没加索引。
举个例子,查询的时候用Title='china'

记录条数一多,就会很慢

有没有办法再优化一下。

或者连表结构都改变一下,只要速度快就行。
...全文
354 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlander 2006-09-11
  • 打赏
  • 举报
回复
插入操作次数比查询操作还多
说的比较夸张了,实际情况是插入操作非常多,从长时间的综合情况来看,还是查询多。
不好意思,表达失误。

综合各位的意见,初步测试了一下,效果不错。

1,把数据类型改成char
2,建立索引

结果,CPU使用率由原先的平均50%,降到20%左右,偶尔可达到极值64%左右,可能是插入操作引起的。

谢谢大家
xlander 2006-09-10
  • 打赏
  • 举报
回复
谢谢大家阿。

这个表是临时表,在一般情况下,插入操作次数比查询操作还多。
另外,记录是不重复的。
pbsql 2006-09-10
  • 打赏
  • 举报
回复
这个表是临时表,在一般情况下,插入操作次数比查询操作还多。
另外,记录是不重复的。

如果上面的话属实,那从设计上是没法优化的了。
因为加索引虽然可以提高查询速度,但同时也会降低插入/删除操作的效率,对楼主来说查询和插入哪个效率更重要?

提高硬件性能吧
十一月猪 2006-09-10
  • 打赏
  • 举报
回复
Create Index
yuehaiyang 2006-09-10
  • 打赏
  • 举报
回复
建个索引,看看
jackluo1981 2006-09-10
  • 打赏
  • 举报
回复
建索引
nongly 2006-09-10
  • 打赏
  • 举报
回复

1)可以把数据类型改成char

2)表的主键用INT数据类型,插入效率比用其它数据类型要高

3)在Title列上建索引
47522341 2006-09-09
  • 打赏
  • 举报
回复
企图将查询速度增加,就要在该字段上建立索引
但索引会降低插入和更新的速度。
lizhongheng 2006-09-09
  • 打赏
  • 举报
回复
建立一下索引
yahle 2006-09-09
  • 打赏
  • 举报
回复
如果Title可能出现大量重复的话,另外建张表, id,title
把本表的title换成id
可能会好点

----

这个方法好些,看Title的字段应该是会有大量重复的字符串。
Well 2006-09-09
  • 打赏
  • 举报
回复
建索引。。
xyxfly 2006-09-09
  • 打赏
  • 举报
回复
连表结构都改变一下,只要速度快就行

呵呵那 索引试试 啊 ^_^
zhang_yzy 2006-09-09
  • 打赏
  • 举报
回复
第一次的查询速度差不多,
但是以后的类似查询,速度会快一些
csdnweii 2006-09-09
  • 打赏
  • 举报
回复
如果Title可能出现大量重复的话,另外建张表, id,title
把本表的title换成id
可能会好点
csdnweii 2006-09-09
  • 打赏
  • 举报
回复
建索引
xlander 2006-09-09
  • 打赏
  • 举报
回复
补充一下

现在没有用存储过程,是在程序里用SQL查询

如果用存储过程能快多少?
yjlhch 2006-09-09
  • 打赏
  • 举报
回复
对查询条件所有字段重做索引

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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