g*****g 发帖数: 34805 | 1 有个query并不复杂,
select * FROM sync_mapping WHERE account_id = :1 and content_id = :2
ORDER BY sync_id
但是sync_mapping表有30M行,结果每次执行要1分多钟。我查了一下
这个表没有建索引。难道不应该对account_id 做索引吗?
另外这个表使用account_id,content_id,sync_id做了一个composite key,
是不是对性能也有影响? |
B*****g 发帖数: 34098 | 2 1. 啥数据库,哪个版本?
2. composite key没有index?
3. post execution plan of your sql
【在 g*****g 的大作中提到】 : 有个query并不复杂, : select * FROM sync_mapping WHERE account_id = :1 and content_id = :2 : ORDER BY sync_id : 但是sync_mapping表有30M行,结果每次执行要1分多钟。我查了一下 : 这个表没有建索引。难道不应该对account_id 做索引吗? : 另外这个表使用account_id,content_id,sync_id做了一个composite key, : 是不是对性能也有影响?
|
g*****g 发帖数: 34805 | 3 Oracle 10g, composite key index了。对Post execution plan不懂。
但是对(a,b,c) composite key index 应该对
select * where a=:1 and b:2 order by c 不管用吧。
我觉得要对a和b index才有用,特别a是account_id,30M条记录
通常对这个一搜也就剩1K条。
【在 B*****g 的大作中提到】 : 1. 啥数据库,哪个版本? : 2. composite key没有index? : 3. post execution plan of your sql
|
B*****g 发帖数: 34098 | 4
管不管用要看了execution plan,理论上where部分应该管用,order部分不管用。
如果你用toad或者sql developer,有button产生。
如果你用sql plus,
EXPLAIN PLAN FOR .
把结果贴上来。
【在 g*****g 的大作中提到】 : Oracle 10g, composite key index了。对Post execution plan不懂。 : 但是对(a,b,c) composite key index 应该对 : select * where a=:1 and b:2 order by c 不管用吧。 : 我觉得要对a和b index才有用,特别a是account_id,30M条记录 : 通常对这个一搜也就剩1K条。
|
g*****g 发帖数: 34805 | 5 嗯,看似没问题。看来是DB服务器出问题了,也许硬盘啥的没空间之类的。
【在 B*****g 的大作中提到】 : : 管不管用要看了execution plan,理论上where部分应该管用,order部分不管用。 : 如果你用toad或者sql developer,有button产生。 : 如果你用sql plus, : EXPLAIN PLAN FOR . : 把结果贴上来。
|
c**t 发帖数: 2744 | 6 对这种比较大表一般最好的tuning是partition。建立index需要特别小心:看是需要快
速存储还是快速检索。你说的情况可能是temporary space等system resource不够。没
有看到execution plan什么都是猜测
【在 g*****g 的大作中提到】 : 有个query并不复杂, : select * FROM sync_mapping WHERE account_id = :1 and content_id = :2 : ORDER BY sync_id : 但是sync_mapping表有30M行,结果每次执行要1分多钟。我查了一下 : 这个表没有建索引。难道不应该对account_id 做索引吗? : 另外这个表使用account_id,content_id,sync_id做了一个composite key, : 是不是对性能也有影响?
|
c**t 发帖数: 2744 | 7 要看plan也是需要permission的,用户需要SELECT_CATALOG_ROLE
【在 B*****g 的大作中提到】 : : 管不管用要看了execution plan,理论上where部分应该管用,order部分不管用。 : 如果你用toad或者sql developer,有button产生。 : 如果你用sql plus, : EXPLAIN PLAN FOR . : 把结果贴上来。
|
w*******e 发帖数: 1622 | 8 1? 好虫也是做database方面的??
【在 g*****g 的大作中提到】 : 有个query并不复杂, : select * FROM sync_mapping WHERE account_id = :1 and content_id = :2 : ORDER BY sync_id : 但是sync_mapping表有30M行,结果每次执行要1分多钟。我查了一下 : 这个表没有建索引。难道不应该对account_id 做索引吗? : 另外这个表使用account_id,content_id,sync_id做了一个composite key, : 是不是对性能也有影响?
|
g*****g 发帖数: 34805 | 9 不做,可是做优化啥都得看看,至少找出毛病让会的人去干。
【在 w*******e 的大作中提到】 : 1? 好虫也是做database方面的??
|
B*****g 发帖数: 34098 | 10 大牛呀,咱这儿找出毛病只能求着人去干,还得假装不知道问题在哪。
【在 g*****g 的大作中提到】 : 不做,可是做优化啥都得看看,至少找出毛病让会的人去干。
|
|
|
w*******e 发帖数: 1622 | 11 赫赫, Beijing MM不会是我们组的吧??
【在 B*****g 的大作中提到】 : 大牛呀,咱这儿找出毛病只能求着人去干,还得假装不知道问题在哪。
|
g*****g 发帖数: 34805 | 12 ft呀, 俺今天找到DBA让他去partition table,他居然说
不能用这个feature,否则license cost会很高。ft, 那还不如用MySQL呢。
【在 B*****g 的大作中提到】 : 大牛呀,咱这儿找出毛病只能求着人去干,还得假装不知道问题在哪。
|
B*****g 发帖数: 34098 | 13 换DBA吧,板上应该有人还闲着。
【在 g*****g 的大作中提到】 : ft呀, 俺今天找到DBA让他去partition table,他居然说 : 不能用这个feature,否则license cost会很高。ft, 那还不如用MySQL呢。
|
g*****g 发帖数: 34805 | 14 这不是DBA无能,是Oracle太贵了吧。
俺们要考虑把一部分数据放到mysql上。
【在 B*****g 的大作中提到】 : 换DBA吧,板上应该有人还闲着。
|
j*****n 发帖数: 1781 | 15 Oracle 不知道,M$ 倒是只有Enterprise 才能用 table partitioning...
【在 g*****g 的大作中提到】 : ft呀, 俺今天找到DBA让他去partition table,他居然说 : 不能用这个feature,否则license cost会很高。ft, 那还不如用MySQL呢。
|
B*****g 发帖数: 34098 | 16 是oltp还是data warehouse?
当然要换DBA,都不能说服上面多花几万块,咱公司DBA都是大爷
【在 g*****g 的大作中提到】 : 这不是DBA无能,是Oracle太贵了吧。 : 俺们要考虑把一部分数据放到mysql上。
|
B*****g 发帖数: 34098 | 17 ding。
没钱别用oracle,一想起咱公司是个机器就有toad,再看我的工资.....
【在 j*****n 的大作中提到】 : Oracle 不知道,M$ 倒是只有Enterprise 才能用 table partitioning...
|
g*****g 发帖数: 34805 | 18 俺上次看服务的费用,似乎一年要给Oracle上M,连这
功能都不能使,似乎有点贵。
【在 B*****g 的大作中提到】 : 是oltp还是data warehouse? : 当然要换DBA,都不能说服上面多花几万块,咱公司DBA都是大爷
|
B*****g 发帖数: 34098 | 19 多少个CPU呀?
http://www.oracle.com/corporate/pricing/technology-price-list.pdf
【在 g*****g 的大作中提到】 : 俺上次看服务的费用,似乎一年要给Oracle上M,连这 : 功能都不能使,似乎有点贵。
|
g*****g 发帖数: 34805 | 20 4X4 and 1.5M fee every year. ouch. So if they turn on table partition,
it's another 200K a year, and 500K if they buy support as well.
【在 B*****g 的大作中提到】 : 多少个CPU呀? : http://www.oracle.com/corporate/pricing/technology-price-list.pdf
|
|
|
w*******e 发帖数: 1622 | 21 wk, 抢钱呀?!
【在 g*****g 的大作中提到】 : 4X4 and 1.5M fee every year. ouch. So if they turn on table partition, : it's another 200K a year, and 500K if they buy support as well.
|
c**t 发帖数: 2744 | 22 咱们都用sql developer来替换toad,你就知足吧
【在 B*****g 的大作中提到】 : ding。 : 没钱别用oracle,一想起咱公司是个机器就有toad,再看我的工资.....
|
c**t 发帖数: 2744 | 23 This is how Oracle making money.
【在 g*****g 的大作中提到】 : 4X4 and 1.5M fee every year. ouch. So if they turn on table partition, : it's another 200K a year, and 500K if they buy support as well.
|
B*****g 发帖数: 34098 | 24 用啥都一样,俺就关心自己的paycheck
【在 c**t 的大作中提到】 : 咱们都用sql developer来替换toad,你就知足吧
|
B*****g 发帖数: 34098 | 25 and it successes
【在 c**t 的大作中提到】 : This is how Oracle making money.
|
w*******e 发帖数: 1622 | 26 恩, Beijing MM很实在
其实, 大家都关心paycheck
【在 B*****g 的大作中提到】 : 用啥都一样,俺就关心自己的paycheck
|
i****a 发帖数: 36252 | 27 太明顯了
BSO 公司富, 工资高
【在 B*****g 的大作中提到】 : ding。 : 没钱别用oracle,一想起咱公司是个机器就有toad,再看我的工资.....
|
B*****g 发帖数: 34098 | 28 公司富基本上是由于pay给的工资低。
【在 i****a 的大作中提到】 : 太明顯了 : BSO 公司富, 工资高
|
i****a 发帖数: 36252 | 29 pay check for cow men like you 再低也可觀
昨天無聊, 股沟找到 Toad for SQL Server 有免費版本. 下載了玩一玩. 好象免費版
本沒有自動格式化功能
【在 B*****g 的大作中提到】 : 公司富基本上是由于pay给的工资低。
|
w*******e 发帖数: 1622 | 30 好玩吗?
【在 i****a 的大作中提到】 : pay check for cow men like you 再低也可觀 : 昨天無聊, 股沟找到 Toad for SQL Server 有免費版本. 下載了玩一玩. 好象免費版 : 本沒有自動格式化功能
|
|
|
B*****g 发帖数: 34098 | 31 免费版有啥好玩的?俺的家里的toad都是DBA版的。
費版
【在 w*******e 的大作中提到】 : 好玩吗?
|
c**t 发帖数: 2744 | 32 bso, 私用公软
【在 B*****g 的大作中提到】 : 免费版有啥好玩的?俺的家里的toad都是DBA版的。 : : 費版
|
B*****g 发帖数: 34098 | 33 D版,俺们公司没有DBA版的,因为IT唯一不用toad的就是DBA team
【在 c**t 的大作中提到】 : bso, 私用公软
|
i****a 发帖数: 36252 | 34 with auto formatting, NOT 好玩
company should have a lience of SQL Prompt from RedGate. I need to hunt it
down...
【在 w*******e 的大作中提到】 : 好玩吗?
|