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 |
What happens in a conflict? How do you handle that?
Hi friends This is suneel and i am new to teradata. In both situvations teradata administrator and teradata sql assitant 12.0 1)How to create database in teradata and under database how to create user. 2)How to create table under that user and giving privilizes to that user. Thanks alot.
In a table can we use primary key in one column and in another column both unique and not null constrains.if yes how?
What are the things to be considered while creating secondary index?
Difference between client character set and server character set? What is the use of these two?default character set in teradata?
How do you design aggregate tables using teradata?
Define views in teradata with syntax.
What is a level of granularity of a fact table?
What is meant by a Channel Driver?
How to run a query in teradata?
What are the joins in teradata?
what happen if a query fail in dispatcher?