由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - sqlserver Query的问题
相关主题
请教一个mssql的问题QUERY TOOL 求推荐
[转载] 求教数据库的query optimization 工作的面试向大牛请教 query问题啊!
how to make query faster?Pattern Match in Oracle
Job openings with Teradata (zt)What is optimizer statistics of a table and what is access plan of a query
Late afternoon 腦不好使Query 优化的问题
Re: 请问怎么在QUERY出来的结果里第一列加上自己的INCREMENTALHow to improve performance of Database?
请教sqlserver怎么能capture query?关于DATABASE 的研究方向
How to write this query in Oracle?请教:什么是caching optimization mechanisms?
相关话题的讨论汇总
话题: query话题: index话题: sql话题: 最优话题: sqlserver
进入Database版参与讨论
1 (共1页)
s***s
发帖数: 1301
1
这两天check 一个t-sql query,发现这个query总是选择不是最优的index,
如果指定最优的index,performance就会好很多。但是我们不想在query里这么做(
with
index = ....),这个query是production的code, 将来万一改变index,可能会导致
performance变动,增加维护工作困难。
不知道是什么原因sql server为什么总是不能选择最优index, 是plan被cached了吗?
有什么方法可以让sql server更新它的plan呢?
B*****g
发帖数: 34098
2
google:
http://msdn.microsoft.com/en-us/library/ms174283%28v=sql.105%29

【在 s***s 的大作中提到】
: 这两天check 一个t-sql query,发现这个query总是选择不是最优的index,
: 如果指定最优的index,performance就会好很多。但是我们不想在query里这么做(
: with
: index = ....),这个query是production的code, 将来万一改变index,可能会导致
: performance变动,增加维护工作困难。
: 不知道是什么原因sql server为什么总是不能选择最优index, 是plan被cached了吗?
: 有什么方法可以让sql server更新它的plan呢?

s***s
发帖数: 1301
3
测试了, FREEPROCCACHE 不work,还是选择不好的index.
还有别的命令可以试试吗?
谢谢。

【在 B*****g 的大作中提到】
: google:
: http://msdn.microsoft.com/en-us/library/ms174283%28v=sql.105%29

a9
发帖数: 21638
4
你是在生产上测试的还是测试环境上测的?
如果数据量不一样的话,是有可能的。

【在 s***s 的大作中提到】
: 这两天check 一个t-sql query,发现这个query总是选择不是最优的index,
: 如果指定最优的index,performance就会好很多。但是我们不想在query里这么做(
: with
: index = ....),这个query是production的code, 将来万一改变index,可能会导致
: performance变动,增加维护工作困难。
: 不知道是什么原因sql server为什么总是不能选择最优index, 是plan被cached了吗?
: 有什么方法可以让sql server更新它的plan呢?

s***s
发帖数: 1301
5
测试环境上测的,数据量是一样的。
实在是很奇怪为啥总是选择不是最优的index. :(
还有什么方法可以试试吗?
谢谢!

【在 a9 的大作中提到】
: 你是在生产上测试的还是测试环境上测的?
: 如果数据量不一样的话,是有可能的。

B*****g
发帖数: 34098
6
statistics了吗?

【在 s***s 的大作中提到】
: 测试环境上测的,数据量是一样的。
: 实在是很奇怪为啥总是选择不是最优的index. :(
: 还有什么方法可以试试吗?
: 谢谢!

e****7
发帖数: 4387
7

我刚才也是想提这个,update statistics, 看了你那个枪铁,没敢说:)

【在 B*****g 的大作中提到】
: statistics了吗?
k********e
发帖数: 702
8
update statistics是必须的。当然,其实更应该先defrag/reindex一下(尤其是
cluster index),信不信由你。
另外,高版本的SQL可以绑定execution plan,当然,你index hint也可以。没什么不
好的。query optimizer本来就不能保证100%最优。
对了,我是web developer。我都知道这个。
B*****g
发帖数: 34098
9
最简单就是把所有index都recreate,哈哈

【在 k********e 的大作中提到】
: update statistics是必须的。当然,其实更应该先defrag/reindex一下(尤其是
: cluster index),信不信由你。
: 另外,高版本的SQL可以绑定execution plan,当然,你index hint也可以。没什么不
: 好的。query optimizer本来就不能保证100%最优。
: 对了,我是web developer。我都知道这个。

e****7
发帖数: 4387
10



【在 k********e 的大作中提到】
: update statistics是必须的。当然,其实更应该先defrag/reindex一下(尤其是
: cluster index),信不信由你。
: 另外,高版本的SQL可以绑定execution plan,当然,你index hint也可以。没什么不
: 好的。query optimizer本来就不能保证100%最优。
: 对了,我是web developer。我都知道这个。

相关主题
Re: 请问怎么在QUERY出来的结果里第一列加上自己的INCREMENTALQUERY TOOL 求推荐
请教sqlserver怎么能capture query?向大牛请教 query问题啊!
How to write this query in Oracle?Pattern Match in Oracle
进入Database版参与讨论
e****7
发帖数: 4387
11

不能吧,占用太多资源,同时还增加query optimizer 的工作量。

【在 B*****g 的大作中提到】
: 最简单就是把所有index都recreate,哈哈
B*****g
发帖数: 34098
12
test, haha

【在 e****7 的大作中提到】
:
: 不能吧,占用太多资源,同时还增加query optimizer 的工作量。

e****7
发帖数: 4387
13

切,我说呢

【在 B*****g 的大作中提到】
: test, haha
i****a
发帖数: 36252
14
is this query in a stored procedure?

【在 s***s 的大作中提到】
: 这两天check 一个t-sql query,发现这个query总是选择不是最优的index,
: 如果指定最优的index,performance就会好很多。但是我们不想在query里这么做(
: with
: index = ....),这个query是production的code, 将来万一改变index,可能会导致
: performance变动,增加维护工作困难。
: 不知道是什么原因sql server为什么总是不能选择最优index, 是plan被cached了吗?
: 有什么方法可以让sql server更新它的plan呢?

e****7
发帖数: 4387
15

LZ didn't mention, assumed not, otherwise re-compile the proc will force the
query optimizer to re-create exe plan.

【在 i****a 的大作中提到】
: is this query in a stored procedure?
i****a
发帖数: 36252
16
that's what I am trying to get at. try recompile
also can get the cached execution plan to see what SQL is doing

the

【在 e****7 的大作中提到】
:
: LZ didn't mention, assumed not, otherwise re-compile the proc will force the
: query optimizer to re-create exe plan.

p********l
发帖数: 279
17
看一下你的Query里面有没有Implicit Cast,很多时候就是因为这个而没有选择最优的
index

【在 s***s 的大作中提到】
: 这两天check 一个t-sql query,发现这个query总是选择不是最优的index,
: 如果指定最优的index,performance就会好很多。但是我们不想在query里这么做(
: with
: index = ....),这个query是production的code, 将来万一改变index,可能会导致
: performance变动,增加维护工作困难。
: 不知道是什么原因sql server为什么总是不能选择最优index, 是plan被cached了吗?
: 有什么方法可以让sql server更新它的plan呢?

e****7
发帖数: 4387
18

good one

【在 p********l 的大作中提到】
: 看一下你的Query里面有没有Implicit Cast,很多时候就是因为这个而没有选择最优的
: index

1 (共1页)
进入Database版参与讨论
相关主题
请教:什么是caching optimization mechanisms?Late afternoon 腦不好使
query: in sql server 2005Re: 请问怎么在QUERY出来的结果里第一列加上自己的INCREMENTAL
问Jackrun, Beijing等大侠performance问题请教sqlserver怎么能capture query?
谁能推荐关于 sql query optimization 方面的书?How to write this query in Oracle?
请教一个mssql的问题QUERY TOOL 求推荐
[转载] 求教数据库的query optimization 工作的面试向大牛请教 query问题啊!
how to make query faster?Pattern Match in Oracle
Job openings with Teradata (zt)What is optimizer statistics of a table and what is access plan of a query
相关话题的讨论汇总
话题: query话题: index话题: sql话题: 最优话题: sqlserver