![]() | |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi all, I recently read the following in a book(oracle 9i for dummies by Carol McCullough Dieter) The fastest way to retrieve rows from a table is to access the row with exact row id. An index is the second fastest way, but it decreases in performance as the proportion of the rows retrieved increases. if you are retrieving approximately 20 % of the rows in a table, using a index is just as fast. But beyond that magic 20 %, not using 20% is faster. keep this rule in mind when you create indexes intended to help speed up a query. Queries vary in the rows that they select from a table. if you have a query that you use often, determine the number of rows that it selects from the table. if this number is more than 20% of the total no: of rows in the table , an index on the table may not improve the performance of the query. you may just want to try both methods. if the number of rows is less than 20%, an index will almost certainly help performance. my question is to what extent this rule is true ? |
#3
| |||
| |||
|
|
Hi all, I recently read the following in a book(oracle 9i for dummies by Carol McCullough Dieter) The fastest way to retrieve rows from a table is to access the row with exact row id. An index is the second fastest way, but it decreases in performance as the proportion of the rows retrieved increases. if you are retrieving approximately 20 % of the rows in a table, using a index is just as fast. But beyond that magic 20 %, not using 20% is faster. keep this rule in mind when you create indexes intended to help speed up a query. Queries vary in the rows that they select from a table. if you have a query that you use often, determine the number of rows that it selects from the table. if this number is more than 20% of the total no: of rows in the table , an index on the table may not improve the performance of the query. you may just want to try both methods. if the number of rows is less than 20%, an index will almost certainly help performance. my question is to what extent this rule is true ? |
#4
| |||
| |||
|
|
Hi all, I recently read the following in a book(oracle 9i for dummies by Carol McCullough Dieter) The fastest way to retrieve rows from a table is to access the row with exact row id. An index is the second fastest way, but it decreases in performance as the proportion of the rows retrieved increases. if you are retrieving approximately 20 % of the rows in a table, using a index is just as fast. But beyond that magic 20 %, not using 20% is faster. keep this rule in mind when you create indexes intended to help speed up a query. Queries vary in the rows that they select from a table. if you have a query that you use often, determine the number of rows that it selects from the table. if this number is more than 20% of the total no: of rows in the table , an index on the table may not improve the performance of the query. you may just want to try both methods. if the number of rows is less than 20%, an index will almost certainly help performance. my question is to what extent this rule is true ? |
#5
| |||
| |||
|
|
Hi all, I recently read the following in a book(oracle 9i for dummies by Carol McCullough Dieter) The fastest way to retrieve rows from a table is to access the row with exact row id. An index is the second fastest way, but it decreases in performance as the proportion of the rows retrieved increases. if you are retrieving approximately 20 % of the rows in a table, using a index is just as fast. But beyond that magic 20 %, not using 20% is faster. keep this rule in mind when you create indexes intended to help speed up a query. Queries vary in the rows that they select from a table. if you have a query that you use often, determine the number of rows that it selects from the table. if this number is more than 20% of the total no: of rows in the table , an index on the table may not improve the performance of the query. you may just want to try both methods. if the number of rows is less than 20%, an index will almost certainly help performance. my question is to what extent this rule is true ? |
#6
| |||
| |||
|
|
Hi all, I recently read the following in a book(oracle 9i for dummies by Carol McCullough Dieter) The fastest way to retrieve rows from a table is to access the row with exact row id. An index is the second fastest way, but it decreases in performance as the proportion of the rows retrieved increases. if you are retrieving approximately 20 % of the rows in a table, using a index is just as fast. But beyond that magic 20 %, not using 20% is faster. keep this rule in mind when you create indexes intended to help speed up a query. Queries vary in the rows that they select from a table. if you have a query that you use often, determine the number of rows that it selects from the table. if this number is more than 20% of the total no: of rows in the table , an index on the table may not improve the performance of the query. you may just want to try both methods. if the number of rows is less than 20%, an index will almost certainly help performance. my question is to what extent this rule is true ? |
#7
| |||
| |||
|
|
Hi all, I recently read the following in a book(oracle 9i for dummies by Carol McCullough Dieter) The fastest way to retrieve rows from a table is to access the row with exact row id. An index is the second fastest way, but it decreases in performance as the proportion of the rows retrieved increases. if you are retrieving approximately 20 % of the rows in a table, using a index is just as fast. But beyond that magic 20 %, not using 20% is faster. keep this rule in mind when you create indexes intended to help speed up a query. Queries vary in the rows that they select from a table. if you have a query that you use often, determine the number of rows that it selects from the table. if this number is more than 20% of the total no: of rows in the table , an index on the table may not improve the performance of the query. you may just want to try both methods. if the number of rows is less than 20%, an index will almost certainly help performance. my question is to what extent this rule is true ? |
#8
| |||
| |||
|
|
On Jul 24, 9:01 am, aark... (AT) gmail (DOT) com wrote: Hi all, I recently read the following in a book(oracle 9i for dummies by Carol McCullough Dieter) The fastest way to retrieve rows from a table is to access the row with exact row id. An index is the second fastest way, but it decreases in performance as the proportion of the rows retrieved increases. if you are retrieving approximately 20 % of the rows in a table, using a index is just as fast. But beyond that magic 20 %, not using 20% is faster. keep this rule in mind when you create indexes intended to help speed up a query. Queries vary in the rows that they select from a table. if you have a query that you use often, determine the number of rows that it selects from the table. if this number is more than 20% of the total no: of rows in the table , an index on the table may not improve the performance of the query. you may just want to try both methods. if the number of rows is less than 20%, an index will almost certainly help performance. my question is to what extent this rule is true ? As with all performance questions the answer is "it depends". That is why there is EXPLAIN PLAN and other performance measures. |
|
Here's the simple counter example for the 20% "rule" SELECT * FROM sometable WHERE ColumnWith20Percent IS NULL; since indices do not track NULLs. |
|
You best bet is to remember that this is not a hard rule, but a general guideline. The paragraph you quoted (or at least paraphrased) hints at this since it says: "you may just want to try both methods". to quote the raven: It's a guideline, nothing more. |
#9
| |||
| |||
|
|
On Jul 24, 9:01 am, aark... (AT) gmail (DOT) com wrote: Hi all, I recently read the following in a book(oracle 9i for dummies by Carol McCullough Dieter) The fastest way to retrieve rows from a table is to access the row with exact row id. An index is the second fastest way, but it decreases in performance as the proportion of the rows retrieved increases. if you are retrieving approximately 20 % of the rows in a table, using a index is just as fast. But beyond that magic 20 %, not using 20% is faster. keep this rule in mind when you create indexes intended to help speed up a query. Queries vary in the rows that they select from a table. if you have a query that you use often, determine the number of rows that it selects from the table. if this number is more than 20% of the total no: of rows in the table , an index on the table may not improve the performance of the query. you may just want to try both methods. if the number of rows is less than 20%, an index will almost certainly help performance. my question is to what extent this rule is true ? As with all performance questions the answer is "it depends". That is why there is EXPLAIN PLAN and other performance measures. |
|
Here's the simple counter example for the 20% "rule" SELECT * FROM sometable WHERE ColumnWith20Percent IS NULL; since indices do not track NULLs. |
|
You best bet is to remember that this is not a hard rule, but a general guideline. The paragraph you quoted (or at least paraphrased) hints at this since it says: "you may just want to try both methods". to quote the raven: It's a guideline, nothing more. |
#10
| |||
| |||
|
|
On Jul 24, 9:01 am, aark... (AT) gmail (DOT) com wrote: Hi all, I recently read the following in a book(oracle 9i for dummies by Carol McCullough Dieter) The fastest way to retrieve rows from a table is to access the row with exact row id. An index is the second fastest way, but it decreases in performance as the proportion of the rows retrieved increases. if you are retrieving approximately 20 % of the rows in a table, using a index is just as fast. But beyond that magic 20 %, not using 20% is faster. keep this rule in mind when you create indexes intended to help speed up a query. Queries vary in the rows that they select from a table. if you have a query that you use often, determine the number of rows that it selects from the table. if this number is more than 20% of the total no: of rows in the table , an index on the table may not improve the performance of the query. you may just want to try both methods. if the number of rows is less than 20%, an index will almost certainly help performance. my question is to what extent this rule is true ? As with all performance questions the answer is "it depends". That is why there is EXPLAIN PLAN and other performance measures. |
|
Here's the simple counter example for the 20% "rule" SELECT * FROM sometable WHERE ColumnWith20Percent IS NULL; since indices do not track NULLs. |
|
You best bet is to remember that this is not a hard rule, but a general guideline. The paragraph you quoted (or at least paraphrased) hints at this since it says: "you may just want to try both methods". to quote the raven: It's a guideline, nothing more. |
![]() |
| Thread Tools | |
| Display Modes | |
| |