DBMS SQLite 3.46'in sürümü

Eklenti kitaplığı olarak tasarlanmış hafif bir DBMS olan SQLite 3.46'nın sürümü yayınlandı. SQLite kodu kamuya açık bir alan olarak dağıtılır, yani. herhangi bir amaç için kısıtlama olmaksızın ve ücretsiz olarak kullanılabilir. SQLite geliştiricilerine mali destek, özel olarak oluşturulmuş bir konsorsiyum tarafından sağlanmaktadır.

Ana değişiklikler:

  • Sayısal değişmezlerin daha görsel bir temsili için sayılarda “_” ayırıcısını kullanmak mümkündür (örneğin, 1_234_567).
  • Blok girintisi kullanılarak biçimlendirilmiş daha okunabilir JSON çıktısı oluşturmak için json_pretty() SQL işlevi eklendi.
  • En iyi sorgu performansını elde etmek için veritabanını ve tüm veri şemalarını optimize eden “PRAGMA optimize” işleminin yetenekleri genişletildi. Büyük veritabanları için aşırı işlem süresini ortadan kaldıracak şekilde, veritabanı analizi süresine otomatik olarak uygulanan bir sınır uygulanmıştır. Tüm tablolardaki güncellemeleri ayrı ayrı kontrol etmek için yeni bir "PRAGMA optimize(0x10000)" bit maskesi eklendi. Sqlite_stat1 kayıtları eksik olan tabloların otomatik olarak yeniden analiz edilmesi sağlandı.
  • strftime() SQL işlevine %G, %g, %U ve %V değişiklikleri için destek eklendi.
  • Tarihleri ​​belirli sayıda ay veya yıla göre değiştiren işlemler sırasında ortaya çıkan belirsiz tarihlerin işlenmesini kontrol etmek amacıyla tarih ve saatlerle çalışmak için SQL işlevlerine yeni tavan ve taban değiştiriciler eklendi. SQLite saatin zaten UTC'de veya yerel saat gösteriminde olduğunu biliyorsa, utc ve yerel saat değiştiricilerinin göz ardı edildiğinden emin olun.
  • Sorgu planlayıcıda optimizasyonlar yapıldı. VALUES bölümünde binlerce değer içeren INSERT ifadeleri için “coroutine olarak VALUES” optimizasyonu varsayılan olarak etkindir; bu, bu tür ifadelerin ayrıştırılmasını yaklaşık iki kat daha hızlı hale getirir ve bellek tüketimini yarı yarıya azaltır. “SELECT count(DISTINCT col) FROM …” şeklindeki sorgular için, indeksteki kayıtların boyutu tablodaki kayıtlardan daha az olmasa bile indekslerin kullanımına izin verilir. SQL fonksiyonlarının argümanlarında sabitlerin belirtildiği durumları belirleme mantığı geliştirildi. İlgisiz alt sorgular içeren WHERE yan tümcelerine uygulanacak aşağı açılan optimizasyon etkinleştirildi.
  • Yığın taşmasını işleme mantığı değiştirildi - yığın için yetersiz bellek tespit ettiğinde, ayrıştırıcı artık "ayrıştırıcı yığın taşması" hatasını görüntülemek yerine yığından ek bellek ayırmaya çalışıyor.
  • JSON, kontrol karakterlerinin JSON5 dize değişmezlerinde belirtilmesine olanak tanır. Sağ taraftaki string işleneni yalnızca sayılar içerdiğinde “->” ve “->>” operatörlerinin çalışma mantığı değiştirildi (PostgreSQL'e benzer şekilde bu tür işlenenler artık bir dize olarak işleniyor).
  • DEFAULT değeri, büyük onaltılık değişmezlerin tablo sütunlarında belirtilmesine olanak tanır.

Kaynak: opennet.ru

Yorum ekle