ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° Π΅ DuckDB 0.6.0, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° SQLite Π·Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½ΠΈ заявки.

Π”ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π΅ Ρ€Π΅Π»ΠΈΠ· Π½Π° Π‘Π£Π‘Π” DuckDB 0.6.0, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΡ‡Π΅Ρ‚Π°Π²Π° свойства Π½Π° SQLite, ΠΊΠ°Ρ‚ΠΎ компактност, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° интСграция ΠΊΠ°Ρ‚ΠΎ Π²Π³Ρ€Π°Π΄Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π² Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» ΠΈ ΡƒΠ΄ΠΎΠ±Π΅Π½ CLI интСрфСйс, с инструмСнти ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π° изпълнСниС Π½Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½ΠΈ запитвания, ΠΎΠ±Ρ…Π²Π°Ρ‰Π°Ρ‰ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½Π° част ΠΎΡ‚ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‰ΠΈ агрСгация Π½Π° всичкитС ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΡ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° няколко Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° сС разпространява ΠΏΠΎΠ΄ MIT Π»ΠΈΡ†Π΅Π½Π·. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° всС ΠΎΡ‰Π΅ Π΅ Π½Π° Π΅Ρ‚Π°ΠΏ СкспСримСнтални вСрсии, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΡŠΡ‚ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ стабилизиран ΠΈ сС промСня с всяка вСрсия.

DuckDB прСдоставя Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ Π½Π° SQL, Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ слоТни ΠΈ Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π½ΠΈ запитвания. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° слоТни Ρ‚ΠΈΠΏΠΎΠ²Π΅ (масиви, структури, обСдинСния) ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° изпълнСниС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΊΠΎΡ€Π΅Π»ΠΈΡ€Π°Ρ‰ΠΈ подзапитвания. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° simultΠ°Π½Π½ΠΎ изпълнСниС Π½Π° няколко запитвания, изпълнСниС Π½Π° запитвания Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² CSV ΠΈ Parquet Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Има Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΎΡ‚ Π‘Π£Π‘Π” PostgreSQL.

Π’ допълнСниС към ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° Π½Π° SQLite, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚Π΄Π΅Π»Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° парсинг ΠΎΡ‚ PostgreSQL, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Date Math ΠΎΡ‚ MonetDB, собствСна рСализация Π½Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ‡Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (въз основа Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Segment Tree Aggregation), ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° RE2, собствСн ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ Π½Π° запитвания, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ MVCC Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎ изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ (Multi-Version Concurrency Control), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ·ΠΈΡ€Π°Π½ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» Π·Π° изпълнСниС Π½Π° запитвания Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΠ° Hyper-Pipelining Query Execution, позволяващ Π² Π΅Π΄Π½Π° опСрация Π΄Π° сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ стойности.

Π‘Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:

  • Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΏΠΎ ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°. Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ оптимистичСн Ρ€Π΅ΠΆΠΈΠΌ Π·Π° запис Π½Π° диск, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° голям Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π² Π΅Π΄Π½Π° транзакция, Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС компрСсират ΠΈ Π² ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Ρ€Π΅ΠΆΠΈΠΌ сС записват във Ρ„Π°ΠΉΠ» с Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π΄Π° сС Ρ‡Π°ΠΊΠ° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° транзакцията с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° COMMIT. По Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° COMMIT Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ са записани Π½Π° диск, Π° ΠΏΡ€ΠΈ изпълнСниС Π½Π° ROLLBACK β€” сС ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΡΡ‚. По-Ρ€Π°Π½ΠΎ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ сС Π·Π°ΠΏΠ°Π·Π²Π°Ρ…Π° напълно Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π° ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΈΡ‚ сС записваха Π½Π° диск.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π° скоростта Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° многоядрСни систСми. НапримСр, Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΈΡ Ρ€Π΅Π»ΠΈΠ· Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ с 150 ΠΌΠ»Π½. Ρ€Π΅Π΄Π° Π½Π° 10-ядрСн CPU ΠΎΡ‚Π½Π΅ΠΌΠ°ΡˆΠ΅ 91 сСкунди, Π° Π² Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Ρ‚ΠΎΠ²Π° дСйствиС сС изпълнява Π·Π° 17 сСкунди. ΠŸΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΈ са Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ β€” с Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Π΄Π° Π½Π° записитС ΠΈ Π±Π΅Π· Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Π΄Π°.
  • Π—Π° компрСсиранС Π½Π° Π΄Π°Π½Π½ΠΈ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ FSST (Fast Static Symbol Table), ΠΊΠΎΠΉΡ‚ΠΎ позволява ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠ±Ρ‰ Ρ€Π΅Ρ‡Π½ΠΈΠΊ Π½Π° Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈΡ‚Π΅ съвпадСния. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° новия Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° сС Π½Π°ΠΌΠ°Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° тСстовата Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ 761MB Π½Π° 251MB.
  • Π—Π° компрСсиранС Π½Π° числа с ΠΏΠ»Π°Π²Π°Ρ‰Π° запСтая (DOUBLE ΠΈ FLOAT) са ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈΡ‚Π΅ Chimp ΠΈ Patas. Π’ сравнСниС с прСдходния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Gorillas, Chimp осигурява ΠΏΠΎ-високо Π½ΠΈΠ²ΠΎ Π½Π° компрСсия ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅. ΠΠ»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Patas изостава ΠΏΠΎ стСпСн Π½Π° компрСсия ΠΎΡ‚ Chimp, Π½ΠΎ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-Π±ΡŠΡ€Π· ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΎΡ‚ Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ Π½Π° нСкомпрСсирани Π΄Π°Π½Π½ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ СкспСримСнтална Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ CSV Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² няколко ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ° (SET experimental_parallel_csv=true), ΠΊΠΎΠ΅Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ намалява Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ CSV Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. НапримСр, ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° опцията, Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° CSV Ρ„Π°ΠΉΠ» с Ρ€Π°Π·ΠΌΠ΅Ρ€ 720 MB Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ ΠΎΡ‚ 3.5 Π½Π° 0.6 сСкунди.
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ създаванС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° индСкси. НапримСр, Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° опСрация CREATE INDEX Π·Π° ΠΊΠΎΠ»ΠΎΠ½Π° с 16 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° записа Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ ΠΎΡ‚ 5.92 Π½Π° 1.38 сСкунди.
  • ΠžΠ±Π΅Π·ΠΏΠ΅Ρ‡Π΅Π½ΠΎ Π΅ разпаралСляванС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° агрСгация Π² запитванията, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ ΠΈΠ·Ρ€Π°Π·Π° β€žCOUNT(DISTINCT col)β€œ.
  • Π’ SQL Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ‚ΠΈΠΏΠ° UNION, ΠΊΠΎΠΉΡ‚ΠΎ допуска ΠΏΡ€ΠΈΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ към няколко Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€žUNION(num INT, error VARCHAR)β€œ).
  • Π’ SQL Π΅ прСдоставСна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° запитвания, ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ със словото β€žFROMβ€œ вмСсто β€žSELECTβ€œ. Π’ Ρ‚ΠΎΠ·ΠΈ случай сС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°, Ρ‡Π΅ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π·Π°ΠΏΠΎΡ‡Π²Π° със β€žSELECT *β€œ.
  • Π’ SQL Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΈΠ·Ρ€Π°Π·Π° β€žCOLUMNSβ€œ, позволяваща Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ опСрация Π²ΡŠΡ€Ρ…Ρƒ няколко ΠΊΠΎΠ»ΠΎΠ½ΠΈ, Π±Π΅Π· Π΄Π° сС Π΄ΡƒΠ±Π»ΠΈΡ€Π° ΠΈΠ·Ρ€Π°Π·Π°. НапримСр, β€žSELECT MIN(COLUMNS(*)) from obs;β€œ Ρ‰Π΅ изпълни функция MIN Π·Π° всяка ΠΊΠΎΠ»ΠΎΠ½Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° obs, Π° β€žSELECT COLUMNS(β€˜val[0-9]+’) from obs;β€œ Π·Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡ‚Π΅ с ΠΈΠΌΠ΅, ΡΡŠΡΡ‚ΠΎΡΡ‰ΠΎ сС ΠΎΡ‚ β€žvalβ€œ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΡŠΡ€Ρ…Ρƒ ΡΠΏΠΈΡΡŠΡ†ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€žSELECT [x + 1 for x in [1, 2, 3]] AS l;β€œ.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΅ оптимизация Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Linux Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° jemalloc. Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° производитСлността Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π° Ρ…Π΅ΡˆΠΎΠ²Π΅ ΠΏΡ€ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.
  • Π’ интСрфСйса Π½Π° командния Ρ€Π΅Π΄ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π° Β«.mode duckboxΒ», ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»Ρ срСднитС ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с ΡˆΠΈΡ€ΠΈΠ½Π°Ρ‚Π° Π½Π° тСрминалния ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ† (подходящ Π·Π° Π±ΡŠΡ€Π·ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ запитвания с голям Π±Ρ€ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, ΠΊΠ°Ρ‚ΠΎ Β«SELECT * FROM tblΒ», ΠΊΠΎΠΈΡ‚ΠΎ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ сС разпростират Π½Π° няколко Ρ€Π΅Π΄Π°). Π‘ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Β«.maxrows XΒ» Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈ ΠΈ числото Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½ΠΈΡ‚Π΅ Ρ€Π΅Π΄ΠΎΠ²Π΅.
  • Π’ CLI Π΅ осигурСно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ допълванС Π½Π° Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ във Π²Ρ€ΡŠΠ·ΠΊΠ° с контСкста (допълва сС Π²ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈ Π΄ΡƒΠΌΠΈ, ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅).
  • Π’ CLI ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π·Π° Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊΠ° Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster