Understanding simple queries and the cost model
In this section, we will get started with indexes. To show how things work, some test data is needed. The following code snippet shows how data can be created easily:
test=# CREATE TABLE t_test (id serial, name text);
CREATE TABLE
test=# INSERT INTO t_test (name) SELECT 'hans'
FROM generate_series(1, 2000000);
INSERT 0 2000000
test=# INSERT INTO t_test (name) SELECT 'paul'
FROM generate_series(1, 2000000);
INSERT 0 2000000
In the first line, a simple table is created. Two columns are used: an auto increment column, which just keeps creating numbers, and a column that will be filled with static values.
Note
The generate_series
function will generate numbers from 1 million to 2 million. So in this example, 2 million static values for hans
and 2 million static values for paul
are created.
In all, 4 million rows have been added:
test=# SELECT name, count(*) FROM t_test GROUP BY 1; name | count ------+--------- hans | 2000000 ...