在SQL Server中,每次查询table,都会将table缓存到内存中,如果是对单表查询,建议创建index,这样,在查询时,会将index 结构缓存到内存中,减少查询的时间
单表执行还查询时间过长,难道数据量数以亿计???
222530 条吧
@湖光滟滟秋: 单表,20多W条还慢?我是说整个表,整个表就这20多W数据么?
你贴一下你的表的schema和查询语句。
SELECT COUNT(*)FROM basedata..booking_hotels
@湖光滟滟秋:
select c.row_count
from sys.indexes a ,
sys.objects b ,
sys.dm_db_partition_stats c
where a.[object_id] = b.[object_id]
AND b.[object_id] = c.[object_id]
AND a.index_id = c.index_id
AND a.index_id < 2
AND b.is_ms_shipped = 0
and a.name=....
你这种count(*)不带条件索引没用。
可以考虑增加一个redis缓存
20万条数据,就有速度问题,这是一个大问题,通常是要2千万条或者2亿条才考虑速度问题的,
至于问题在哪儿,不一定是数据库查询,有可能是软件代码,设计方案等。
在 数据库里执行sql的时候发现 执行特别慢
@湖光滟滟秋: 这样的话几个可能
1、电脑太差
2、数据表没加索引
3、查询语句最好可以提供看看,但是单表就算是没索引的话20万行都不应该太慢的,所以给慢一个准确的数量级单位,几秒,几毫秒,几十秒,这些都有助于答疑。
@爱编程的大叔: 查了50秒