介绍
本篇文章给大家分享的是有关怎么在PostgreSQL数据库中保证像语句的效率,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强>,实验环境强>
数据库环境:PostgreSQL 12.3,X86_64 ,
创建虚拟环境:
postgres=#, create database testdb01 owner highgo; CREATE 数据库 postgres=#, \ c testdb01  highgo , , testdb01=#, create table  testliketb01 (userid int  primary 关键,username varchar (20), password varchar (60), description 文本); CREATE 表
为何保证测试效果更直观,我们使用随机数据填充一下该表
testdb01=#, insert into testliketb01 select generate_series (500000), split_part(& # 39;张三,李四,王五,小明,小红& # 39;,& # 39;,& # 39;,(随机()* (5 - 1)+ 1)::int), md5((随机()* (5 - 1)+ 1)::varchar), split_part (& # 39; highgo highgo02, highgo03& # 39;, & # 39;, & # 39;,(随机()* (3 - 1)+ 1)::int);
,至此,虚拟数据创建完毕。
testdb01=#, select *,得到testliketb01 limit 10; | | userid username ,,,,,,,,,,,, password ,,,,,,,,,,,, |,描述 - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - ,,,,,1,|,王五,,,,,|,4 f2bca371b42abd1403d5c20c4542dff | highgo ,,,,,2,|,李四,,,,,|,2 a978c605188770c5ed162889fff189e | highgo02 ,,,,,3,|,李四,,,,,|,f5d129ab728b72ac6f663fe544bc7c16 | highgo ,,,,,4,|,小明,,,,,|,53134 fa1022c58e65168b6aa1fbe5e39 | highgo02 ,,,,,5,|,王五,,,,,|,2 cf9abb2a8b676a626fa2c317d401ed8 | highgo02 ,,,,,6,|,王五,,,,,|,2247 a0cfda1f2819554d6e8e454622eb | highgo02 ,,,,,7,|,张三,,,,,|,59 dfdc680c17533dfba1c72c9ce0bf76 | highgo02 ,,,,,8,|,王五,,,,,|,87 db4258236a3826259dcc3e7cb5fc63 | highgo02 ,,,,,9,|,王五,,,,,|,baaf7a2f7027df9aaeb665121432b6e2 | highgo02 ,,,,10,|,王五,,,,,|,2 f8fb36b3227c795b111b9bd5b031a76 | highgo02 (10,行) 此时数据库的状态: testdb01=#, \ l + testdb01 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,List of 数据库 ,,Name ,, |, Owner , |, Encoding |,,, Collate ,, |,,,, Ctype ,,, |, Access privileges |, Size , |, Tablespace |,描述 - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - | | testdb01 highgo UTF8 ,,,, |, en_US.UTF-8 |, en_US.UTF-8 |,,,,,,,,,,,,,,,,,,, |, 59, MB | pg_default | (1,行)
,简单像语句查询:
testdb01=#, explain analyze select *,得到testliketb01 where username like & # 39;王% & # 39;; ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,QUERY PLAN ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ----------------------------------------------------------------------------------------------------------------------- Seq Scan 提醒testliketb01 ,(成本=0.00,11405.00,行=125350,宽度=52),(actual 时间=0.014,177.571,行=124952,循环=1) null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null怎么在PostgreSQL数据库中保证像语句的效率