How does indexing improve query performance?
Answers were Sorted based on User's Feedback
Answer / praveen
By creating index on single or multiple columns, query
takes index access path instead of full table scan. Full
table scan is costilier operation where it has to visit all
rows in the table whereas index operation just accesses the
index sub table with required hash value and joins with the
basetable using rowid. This improves response time and
performance of the query.
Is This Answer Correct ? | 28 Yes | 3 No |
Answer / sri krishna
Teradata automatically Creates the Primary index , if not
specified by the DDl for Table .Some of the Other Types of
indexes are
Secondary Index
Partitioned Primary Index
Join Index
Primary Index :- the PI is the way , Teradata Distributes
the Data , Accesses the Data to/from Amps. By Using the
Primary Index with Value or Range of Values in the Where
Clause of the Query , the operation Becomes a Single AMP/
Few amp aperation instead of all amp operation . the Access
path is
Rowhash of the Pi is known --> Amp of the Column along
with rowid of the Column . (1 Amp Ops)
Results
1. Highly Optimised Query Retrival
2. less Cost per Retrival
Secondary Index / Join Indexes :-
Creates a Secondary Index / Joinindex / Hashindex
Subtable , which maps the Column/s of the SI and the PI
Hash /Join(Frequently used Columns in two tables in this
Case ) , The operations , if using these Indexes are
basically 2 or more amp operation .
Results
1. Quicker Query Retrival time than a full table scan .
2. costs less on the Resources than a FTS
3. the Performance is improved if the JI is used by the
Optimizer
cons --
1. Additional Space Req. for the Subtables
2. need to be droped and recreated for Loads to happen
(Multi Load , FastLoad)ect , which is a real PAIN !!!
3.still be a 2 amp operation when compared to PI Retrival
for a SI.
PPI :-
Partitioned Primary Indexes are Created so as to divide the
table onto partitions based on Range or Values as Required .
the data is first Hashed into Amps , then Stored in amps
based on the Partitions !!! which when Retrived for a
single partition / multiple Partitions , will be a all amps
Scan, but not a Full Table Scan !!!! . this is effective
for Larger Tables partitioned on the Date Specially !!!
there is no extra Overhead on the System (no Spl Tables
Created ect )
Is This Answer Correct ? | 19 Yes | 5 No |
Answer / yuvaevergreen
PI is very important in TD, because the data distribution
is basically dependent on PI.
1.Data distribution
2.Fastest way to retrieve rows
3.Important for joins
Is This Answer Correct ? | 4 Yes | 1 No |
Answer / guru
ONE LINE ANSWER: INdexing acts as SET option (Where clause)
while an query is being executed provided the query
contains these indexes.
Guru,
Advanced Teradata Certified Professional
Is This Answer Correct ? | 1 Yes | 5 No |
how do you handle ET and UV errors ?
Describe primary index in teradata?
What is the use of stored procedures in teradata?
How to select first n records in teradata?
What is difference between user and database in teradata?
What is the command in bteq to check for session settings ?
How many types of joins are there in teradata?
Explain some differences between mpp and smp?
what are the uses of fact table and dimension table in banking project?
What are the components used in smp and massively parallel processing (mpp) machines?
What is meant by a Clique?
What is primary index and secondary index?