- Mastering PostgreSQL 12
- Hans Jürgen Sch?nig
- 302字
- 2021-08-20 10:00:25
Understanding simple queries and the cost model
In this section, we will get started with indexes. To understand how things work, some test data is needed. The following code snippet shows how data can be created easily:
test=# DROP TABLE IF EXISTS t_test;
DROP TABLE
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; the first is an auto-increment column that just keeps creating numbers, and the second is a column that will be filled with static values.
The generate_series function will generate numbers from 1 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 paul | 2000000 (2 rows)
These 4 million rows have some nice properties, which we will be using throughout this chapter. IDs are ascending, and there are only two distinct names.
Let's run a simple query:
test=# \timing Timing is on.
test=# SELECT * FROM t_test WHERE id = 432332;
id | name --------+------ 432332 | hans (1 row)
Time: 176.949 ms
In this case, the timing command will tell psql to show the runtime of a query.
This is not the real execution time on the server, but the time measured by psql. In the event of very short queries, network latency can be a substantial part of the total time, so this has to be taken into account.
推薦閱讀
- 基于C語言的程序設(shè)計
- 大數(shù)據(jù)專業(yè)英語
- 控制與決策系統(tǒng)仿真
- HBase Design Patterns
- 自主研拋機器人技術(shù)
- 可編程控制器技術(shù)應(yīng)用(西門子S7系列)
- 統(tǒng)計學(xué)習(xí)理論與方法:R語言版
- 完全掌握AutoCAD 2008中文版:機械篇
- 信息物理系統(tǒng)(CPS)測試與評價技術(shù)
- Grome Terrain Modeling with Ogre3D,UDK,and Unity3D
- 筆記本電腦維修90個精選實例
- 智能生產(chǎn)線的重構(gòu)方法
- Dreamweaver CS6中文版多功能教材
- Pentaho Analytics for MongoDB
- 嵌入式GUI開發(fā)設(shè)計