PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Индекс за получаване на брой редове на таблица PostgreSQL само за четене (неизменна)?

За съжаление, в postgresql SELECT COUNT(*) често е по-бавен от mysql с които често се сравнява.

Можете да използвате следната заявка като алтернатива на SELECT COUNT(*).

 SELECT reltuples FROM pg_class WHERE relname = 'mytable';

Това не винаги е 100% актуално, но за неизменните таблици ще бъде точно всеки път. И моментално. За много големи таблици процентът на грешката ще бъде много малък и по този начин си заслужава огромното спестяване на време.

Ако има значение и таблицата не съдържа нули, можете да използвате

 SELECT COUNT(primary_key_column) FROM table

и това ще бъде значително по-бързо от SELECT COUNT(*)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Неуспешно намиране на функцията за преобразуване от неизвестно в текст

  2. има ли начин да се избегне извикването на nextval(), ако вмъкването е неуспешно в PostgreSQL?

  3. Защо защитата на ниво ред не е активирана за изгледи на Postgres?

  4. Използване на pt-pg-summary Percona Toolkit за PostgreSQL

  5. Postgres:Преобразуване на varchar в текст