--- aliases: [] tags: - maturity/🌱 date: 2024-03-31 --- [[../../../meta/zero/00 PostgreSQL|PostgreSQL]] ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько Ρ‚ΠΈΠΏΠΎΠ² [[../ИндСкс Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…|индСксов]], ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° индСкса зависит ΠΎΡ‚ структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° запросов. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ основныС Ρ‚ΠΈΠΏΡ‹ индСксов, ΠΈΡ… особСнности ΠΈ случаи, ΠΊΠΎΠ³Π΄Π° ΠΈΡ… использованиС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивно. **ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:** - Для **ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°** индСкс создаСтся автоматичСски. - МоТно **ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ индСкса** ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. - **РаспуханиС индСксов** (bloat) β€” это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° увСличСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° индСксов со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ пСрСиндСксации. - [[Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ индСкса Π² PostgreSQL]] - [[../Частичный индСкс|Частичный индСкс]] - [[Боставной индСкс Π² PostgreSQL]] **Π’ΠΈΠΏΡ‹ индСксов:** - [[B-tree индСкс Π² PostgreSQL|B-tree индСкс]] - [[Hash индСкс Π² PostgreSQL|Hash индСкс]] - [[Gist индСкс Π² PostgreSQL|Gist индСкс]] - [[SP-GiST индСкс Π² PostgreSQL|SP-GiST индСкс]] - [[GIN индСкс Π² PostgreSQL|GIN индСкс]] - [[BRIN индСкс Π² PostgreSQL|BRIN индСкс]] **ВлияниС обновлСния строки Π½Π° индСкс** - **ОбновлСниС индСксированной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.** По Ρ„Π°ΠΊΡ‚Ρƒ ΠΌΡ‹ добавляСм Π½ΠΎΠ²ΡƒΡŽ запись Π² индСкс, Π° ΡΡ‚Π°Ρ€ΡƒΡŽ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ. Бтарая остаСтся ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ΠΌ Π³Ρ€ΡƒΠ·ΠΎΠΌ (bloat), индСкс распухаСт, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ vacuum. - **ОбновлСниС Π½Π΅ индСксированной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.** Если строка Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ остаСтся Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ [[../DB page|страницС Π±Π΄]], Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±Ρ‹Π»ΠΎ мСсто Π½Π° страницС, Ρ‚ΠΎ индСкс Π½Π΅ мСняСтся. Если строка Π½Π΅ помСщаСтся, Ρ‚ΠΎ добавляСтся новая запись Π² индСкс, Π° старая остаСтся ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ΠΌ Π³Ρ€ΡƒΠ·ΠΎΠΌ (bloat), индСкс распухаСт, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ vacuum. *** ## ΠœΠ΅Ρ‚Π° информация **ΠžΠ±Π»Π°ΡΡ‚ΡŒ**:: [[../../../meta/zero/00 PostgreSQL|00 PostgreSQL]] **Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ**:: [[../ИндСкс Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…|ИндСкс Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…]] **Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ**:: **Автор**:: **Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2024-03-31]] ### Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ - [Π”ΠΎΠΊΠ»Π°Π΄. Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² PostgreSQL. Как ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ](../../../source/lecture/Π”ΠΎΠΊΠ»Π°Π΄.%20Π˜Π½Π΄Π΅ΠΊΡΡ‹%20Π²%20PostgreSQL.%20Как%20ΠΏΠΎΠ½ΡΡ‚ΡŒ,%20Ρ‡Ρ‚ΠΎ%20ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ.md) - [009. B-Π΄Π΅Ρ€Π΅Π²ΡŒΡ. БистСма Π½Π΅ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‰ΠΈΡ…ΡΡ мноТСств - М. А. Π‘Π°Π±Π΅Π½ΠΊΠΎ - YouTube](https://www.youtube.com/watch?v=KFcpDTpoixo) - [Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π² PostgreSQL β€” 1 / Π₯Π°Π±Ρ€](https://habr.com/ru/companies/postgrespro/articles/326096/) - [Introduction of B+ Tree - GeeksforGeeks](https://www.geeksforgeeks.org/introduction-of-b-tree/) ### Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ - [[B-tree индСкс Π² PostgreSQL]] - [[BRIN индСкс Π² PostgreSQL]] - [[GIN индСкс Π² PostgreSQL]] - [[Gist индСкс Π² PostgreSQL]] - [[Hash индСкс Π² PostgreSQL]] - [[SP-GiST индСкс Π² PostgreSQL]] - [[Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ индСкса Π² PostgreSQL]] - [[Боставной индСкс Π² PostgreSQL]] - [[Частичный индСкс]]