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

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

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

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

Π‘Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Π½ΠΎΠ²Π°Ρ‚Π° вСрсия:

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

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€