SQL Workbench

Workbench, DynamoDB tabloların arasında gerçek JOIN, GROUP BY ve toplama sorguları çalıştıran bir SQL yazma sekmesidir — PartiQL'in yapamadığı şeyler. Bu, DynamoDB'nin erişim-kalıbı kuralları içinde SQL'dir: tek bir SELECT yazarsın, bir derleyici her birleştirmenin gerçek bir anahtar ya da indeks üzerinden okuduğunu kontrol eder, birleştirilmiş satırları maddeleştirir ve tam SQL'ini üstünde çalıştırır.

Birini kenar çubuğu sağ tıklama menüsünden (Yeni Workbench), ⌘⌥B kısayolundan ya da Dosya → Yeni Workbench'ten aç. SQL yaz, ardından çalıştırmak için ⌘↩'a bas.

SELECT c.email, COUNT(*) AS orders, SUM(o.total) AS revenue
FROM orders o
JOIN customers c ON o.customerId = c.id
GROUP BY c.email
ORDER BY revenue DESC
Workbench: çok tablolu bir SQL JOIN ve altta birleştirilmiş sonuç ızgarası.
Workbench: çok tablolu bir SQL JOIN ve altta birleştirilmiş sonuç ızgarası.

Neyi destekler

Şunlarla birlikte tek bir SELECT ifadesi:

  • JOIN ... ON ... — tablolar arasında INNER ve LEFT birleştirmeler.
  • ToplamalarCOUNT, SUM, AVG, MIN, MAX, artı GROUP BY ve HAVING.
  • WHERE, DISTINCT, CASE, CAST, ORDER BY.

Bir toplama sorgusu hâlâ akarken, bir partial rozeti etkilenen sütunları işaretler — daha fazla sayfa geldikçe sayılar incelir.

Erişim-kalıbı kuralı

DynamoDB'nin sunucu tarafı birleştirmesi yoktur. Workbench derleyicisi DynamoDB'nin yapabileceğini zorlar: her JOIN'in karşı taraf özniteliği, hedef tabloda bir partition key ya da bir GSI partition key olmalıdır; böylece her arama gerçek bir sorgudur, satır başına gizli bir tam tablo taraması asla değildir.

Bir birleştirme bir anahtar olmayan özniteliğe işaret ederse, düzenleyici onun altını çizer ve nedenini açıklar. Derleyicinin önceden, kesin bir kıvrımla reddettiği diğer yapılar:

  • RIGHT / FULL OUTER / CROSS birleştirmeler ve virgül-birleştirmeler (yalnızca INNER / LEFT).
  • Alt sorgular, CTE'ler (WITH), UNION / INTERSECT / EXCEPT.
  • Pencere fonksiyonları (OVER), birden çok ifade, SELECT olmayan her şey.

Salt okunur

Bir Workbench her zaman salt okunurdur. Düzenleme, hazırlama ya da toplu silme yoktur — bir analiz yüzeyidir. Bir sorgu çalıştırmak asla tablolarına yazmaz.

Tanımlayıcılar standart SQL büyük/küçük harf kullanımını izler: tırnaksız adlar büyük/küçük harfe duyarsız eşleşir (WHERE PLATFORM, platform'u bulur); tam büyük/küçük harf eşleşmesi için bir adı tırnak ya da ters tırnak içine al.

Çalıştırma, şablonlar ve geçmiş

  • Çalıştır — düzenleyicide ⌘↩, Run düğmesi ya da yeniden çalıştırmak için ⌘R. Workbench sekmeleri açılışta asla otomatik çalışmaz; çalıştırma her zaman kasıtlıdır.
  • Sonuna kadar çalıştır⌘⇧↩ ya da Run düğmesinin bölünmüş menüsünden seç; tek bir sayfa yerine tüm birleştirilmiş sonucu akıtmak için. Sayfa sınırı kalkar ve sorgu tükenene kadar sayfalar gelmeye devam eder; Durdur tek frendir. Tek geçişte tamamlamak istediğin büyük toplamalar için kullanışlı.
  • Şablonlar ve kaydedilmiş sorgularSorgular menüsü, başlangıç şablonlarını (tümünü-seç, anahtara-göre-filtrele, gruba-göre-say; Tab ile gezilen deliklerle) ve Kaydet ile sakladığın her sorguyu — herhangi bir tabloda yeniden kullanılabilen kendi adlandırdığın sorgularını — barındırır. Birini seçmek düzenleyicinin içeriğini değiştirir, böylece tam olarak kaydettiğin gibi çalışır.
  • Geçmiş — her çalıştırma kaydedilir (PartiQL'in geçmişinden ayrı olarak), aranabilir ve geri yüklenebilir — başarısız çalıştırmalar dahil; böylece düzeltip yeniden deneyebilirsin.

Bir Workbench sekmesi kaydedilmiş bir spec'tir — adlandır, ⌘K'den yeniden aç ve yeniden yüklemelere dayanır. Ayrıca birleştirilmiş sonuçlarını dışa aktarabilirsin.

Workbench ve Smart Table

Her ikisi de aynı birleştirme motorunu çalıştırır; aynı şeyi yazmanın iki yolu:

  • Workbench, SQL şerididir — bir sorgu yaz, toplamalar ve çözümlenmiş öznitelikler al.
  • Smart Table, görsel şerittir — birleştirmeleri bir tuvale çiz ve birleştirilmiş satırlara normal bir tablo gibi gözat.

Güncellendi