sql >> Databáze >  >> RDS >> PostgreSQL

PostgreSQL:Jak optimalizovat databázi pro ukládání a dotazování velkého grafu

Myslím, že je to kvůli „hustotě“ záznamů stejného klíče na disku. Myslím, že záznamy se stejným ID jsou uloženy v hustém (tj. s malým počtem bloků) a ty se stejným odkazem jsou uloženy v řídkém (tj. , distribuované do velkého počtu bloků). Pokud jste vložili záznamy v pořadí id, může nastat tato situace.

Předpokládejme, že:1. existuje 10 000 záznamů,2. jsou uloženy v pořadí jako (id, odkaz) =(1, 1), (1, 2),..., (1, 100), (2, 1)... a 3. V bloku lze uložit 50 záznamů.

Ve výše uvedeném předpokladu se blok #1~#3 skládá ze záznamů (1, 1)~(1, 50), (1, 51)~(1, 100) a (2, 1)~(2, 50) respektive.

Když SELECT * FROM edges WHERE id=1 , je třeba načíst a naskenovat pouze 2 bloky (#1, #2). Na druhou stranu SELECT * FROM edges WHERE link=1 vyžaduje 50 bloků (#1, #3, #5,...), i když je počet řádků stejný.



  1. připojení k databázi nefunguje v jar, ale funguje v eclipse

  2. Jak kontingenční tabulky v MySQL

  3. Návrh SQL pro průzkum s odpověďmi různých datových typů

  4. Video tutoriály JDBC