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

PostgreSQL - Направих актуализация на таблицата във функция, която създадох и сега редът на редовете в таблицата се промени

Таблицата няма естествен ред на редовете, някои системи от бази данни всъщност ще откажат вашата заявка, ако не добавите ORDER BY клауза в края на вашия SELECT

Защо редът се промени?

Тъй като механизмът на базата данни извлича вашите редове във физическия ред, в който идват от хранилището. Някои машини, като SQL Server, могат да имат CLUSTERED INDEX което налага физически ред, но все още никога не е наистина гарантирано, че ще получите резултатите си в този точен ред.

Клъстерираният индекс съществува най-вече като оптимизация. PostgreSQL има подобен CLUSTER функция за промяна на физическия ред, но това е тежък процес, който заключва таблицата:http://www.postgresql.org/docs/9.1/static/sql-cluster.html

Как да наложа азбучен ред на редовете?

Добавете ORDER BY клауза във вашата заявка.

SELECT * FROM table ORDER BY column



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намеря програмно наследени таблици в PostgreSQL?

  2. Най-добрият начин за предотвратяване на дублиране на данни при копиране на csv postgresql

  3. Грешка при отваряне на pgAdmin 4 на mac

  4. Създайте два масива за две полета, като поддържате реда на сортиране на масивите в синхрон (без подзаявка)

  5. Как мога да избера съседни редове към произволен ред (в sql или postgresql)?