性能优化:Sql语句中HINT不起作用
2009-08-06 16:27
316 查看
今天在做性能测试的时候,发现数据库的load很高,排查觉得Sql的索引有问题,但是一时找不到原因,后来经过Google发现是HINT的问题
文摘如下:
在select/delete/update后写/*+ hint */
如 select /*+ index(TABLE_NAME INDEX_NAME) */ col1...
注意/*和+之间不能有空格
如用hint指定使用某个索引
select /*+ index(cbotab) */ col1 from cbotab;
select /*+ index(cbotab cbotab1) */ col1 from cbotab;
select /*+ index(a cbotab1) */ col1 from cbotab a;
其中
TABLE_NAME是必须要写的,且如果在查询中使用了表的别名,在hint也要用表的别名来代替表名;
INDEX_NAME可以不必写,Oracle会根据统计值选一个索引;
如果索引名或表名写错了,那这个hint就会被忽略;
文摘如下:
在select/delete/update后写/*+ hint */
如 select /*+ index(TABLE_NAME INDEX_NAME) */ col1...
注意/*和+之间不能有空格
如用hint指定使用某个索引
select /*+ index(cbotab) */ col1 from cbotab;
select /*+ index(cbotab cbotab1) */ col1 from cbotab;
select /*+ index(a cbotab1) */ col1 from cbotab a;
其中
TABLE_NAME是必须要写的,且如果在查询中使用了表的别名,在hint也要用表的别名来代替表名;
INDEX_NAME可以不必写,Oracle会根据统计值选一个索引;
如果索引名或表名写错了,那这个hint就会被忽略;
相关文章推荐
- 性能优化:Sql语句中HINT不起作用
- SQL Server数据库性能优化之SQL语句篇
- ORACLE性能优化之SQL语句优化
- ORACLE性能优化之SQL语句优化
- SQL语句优化提高数据库性能
- oracle的SQL语句性能优化
- 数据库性能优化之SQL语句优化
- 数据库性能优化之SQL语句优化1
- SQL Server数据库性能优化之SQL语句篇
- ORACLE性能优化之SQL语句优化
- 优化临时表使用,SQL语句性能提升100倍
- SQLServer性能优化之改写SQL语句
- sql语句的性能优化
- 数据库性能优化之SQL语句优化1
- 优化临时表使用,SQL语句性能提升100倍
- 优化临时表使用,SQL语句性能提升100倍
- 转--优化临时表使用,SQL语句性能提升100倍
- 【SqlServer2005+ 查询优化】MSSQL优化SQL语句 提高数据库的访问性能
- [转]数据库性能优化之SQL语句优化1
- sql语句性能优化介绍