Filtreler ve sorgu kalıpları
Her tablo sekmesi bir filtre taşır: DynoTable'ın bir DynamoDB isteğine
dönüştürdüğü önerme durumu. Parçaların query ile scan arasında nasıl
eşlendiğini öğrenmek, uygulamayı hızlı ve faturanızı küçük kılan şeyin çoğudur.
Bu sayfa Görsel sekme modunu kapsar. SQL tarzı sorguları doğrudan yazmak için PartiQL'e geçin; birleştirmeler ve toplama işlemleri için bir Workbench açın.
Filtre satırı
Görsel mod tek bir yatay pill satırı gösterir:
[Index] [hashKey = value] [rangeKey op value] [+ filter] | [Clear] [Query/Scan]- Index pill'i — üzerinden okuduğunuz sorgu kalıbı.
- Anahtar pill'leri — o kalıbın partition (hash) anahtarı ve varsa sort (range) anahtarı.
- Filtre pill'leri — ek anahtar dışı koşullar (scan filtreleri).
- Eylem düğmesi, ne ayarladığınıza bağlı olarak Query veya Scan okur ve sonuçlar akmaya başladığında Load more hâline gelir.
Bir değer ayarlayın ve DynoTable otomatik olarak çalıştırır; bir pill'i temizlemek veya düzenlemek, filtre tekrar geçerli olur olmaz yeniden çalışır.

Sorgu kalıpları
Bir sorgu kalıbı, üzerinden okuduğunuz index'tir:
PRIMARY— tablonun kendi / .- Adlandırılmış bir veya — kendi anahtar şeması.
Seçilen kalıp, hangi anahtarlara göre filtreleyebileceğinizi belirler. Kalıpları index pill'inden değiştirin; anahtar pill'leri o kalıbın partition ve sort anahtarına güncellenir.
Query ile Scan
Maliyet ve hız açısından önemli olan ayrım budur:
- Bir filtresi ayarlayın ve DynoTable hedefli bir gönderir — yalnızca eşleşen partition'ı okur. Ucuz ve hızlı.
- Bunsuz, tüm tabloyu (veya index'i) sayfa sayfa okuyan bir 'e geri döner. Eylem düğmesi bunu açık kılmak için Scan okur.
Anahtar filtreleri
Partition-key pill'i bir değer alır; ayarlandığı anda eylem Query olur. Sort-key pill'i bunun üzerine bir karşılaştırma ekler:
=,<,<=,>,>=— sıralı karşılaştırmalar (sayılar ve string'lerde sözlüksel).begins_with— string'lerde veya binary'de önek eşleşmesi.between— kapsayıcı bir aralık; pill ikinci bir değer alanı büyütür.
String tipli anahtarlar otomatik tamamlama sunar: DynoTable bir tabloyu arka planda indeksledikçe, daha önce gördüğünüz gerçek değerleri önerir. Yararlı önerisi olmayan anahtarlar (örneğin rastgele UUID'ler) düz bir girişe geri döner.
Scan filtreleri
+ filter pill'i, anahtar dışı bir koşul ekler — yalnızca anahtarlar değil, herhangi bir öznitelik. Her filtre bir sütun, bir operatör ve bir değerdir:
- Karşılaştırmalar:
=,≠,<,<=,>,>=,between. - Üyelik:
in— bir listedeki herhangi bir değerle eşleşir (string'ler veya sayılar). - String / binary:
begins_with,contains. - Varlık:
exists,not exists. - Tür:
type equals/type not equals(DynamoDB tür koduna karşı —S,N,BOOL, …), artı koleksiyon türleri için birsizeailesi.
Sunulan operatörler özniteliğin türüne uyum sağlar — sıralama karşılaştırmaları
sayılar için, begins_with string'ler için görünür. Scan filtreleri, Query veya
Scan öğeleri okuduktan sonra uygulanır, böylece sonucu daraltır ama bir Scan'i
ucuzlatmaz. Okumayı kesmek için bir anahtar filtresi kullanın; geri geleni
arıtmak için scan filtrelerini kullanın.
Single-table tasarım: composite anahtarlar
Single-table tasarımlar, birkaç varlık türünü bir anahtar öneki ardında tek bir
tabloya paketler — USER#123, ORDER#456, TENANT#acme. DynoTable bunları
kendi başına tanır, kurulacak hiçbir şey olmadan:
- Anahtarlar yerinde çözülür. Bir composite değer —
#,|veya~ile geri kalanına bağlanan büyük harfli bir önek — her ızgarada etiketli parçaları olarak görüntülenir: tablo, PartiQL sonuçları ve Workbench. Yalnızca bu karakterlerden birini içeren sıradan değerler (#FF5733gibi bir hex renk, boru ile ayrılmış bir liste) tam olarak oldukları gibi bırakılır. - Tek tıkla bir varlığa filtreleyin. Bir satıra sağ tıklayın ve Filter to
USER#seçeneğini seçin — önek, doğrudan o satırın anahtarından okunur. DynoTable, anahtara gerçek birbegins_with'i sıradan bir filtre pill'i olarak uygular; bunu olağan şekilde (✕'siyle veya Clear ile) temizlersiniz. Bir satırın partition ve sort anahtarlarının ikisi de önekliyse, her biri için bir seçenek alırsınız.
Hiçbir diyalog, hiçbir yapılandırma ve kaydedilen hiçbir şey yok — önünüzdeki anahtarlardan canlı olarak türetilir.

Sıralama ve sayfalama
Sort-key pill'i, DynamoDB'nin ScanIndexForward'ına eşlenen bir sıralama
düzeni geçişi (artan / azalan) taşır. Sonuçlar her seferinde bir sayfa akar —
Load more sonraki sayfayı getirir ve sayfa
boyutunu değiştirmek ilk sayfadan yeniden yükler.
Sona kadar çalıştır
Varsayılan olarak bir Query veya Scan, büyük bir tablonun hepsini birden yüklememesi için birkaç sayfadan sonra duraklar — eylem düğmesi sonraki sayfayı getirmek için Load more gösterir. Her şeyi tek seferde çekmeyi tercih ettiğinizde, çalıştırma modunu değiştirin:
- Eylem düğmesinin yanındaki chevron'a tıklayın ve Run to end seçeneğini seçin. Birincil düğme Scan all / Query all / Run all olarak yeniden etiketlenir — sayfa bütçesinde durakladığınızda dahil, ki orada tıklamak sona kadar boşaltır.
- O yeniden etiketlenmiş düğmeye tıklayın ve DynoTable, tüm tablo (veya index) okunana kadar sayfa getirmeye devam eder. Seçim, oturum boyunca sekme başına hatırlanır; geri geçmek için Paged seçin. Bir mod seçmek kendi başına asla bir çalıştırma başlatmaz — yalnızca düğmeyi yeniden etiketler, böylece ne zaman başlatacağınıza siz karar verirsiniz.
Bir büyük tabloda, Run to end'i kurmak önce tablonun yaklaşık boyutunu ve öğe sayısını gösteren bir onay istemi gösterir, böylece tam bir Scan her zaman bir kaza değil, bilinçli bir seçimdir. Devam etmek için onaylayın veya sayfalı kalmak için iptal edin.

Klavyeden:
- ⌘↩ mevcut sorguyu çalıştırır — ve sonuçlar sayfa bütçesinde duraklatıldığında, baştan başlamak yerine sonraki sayfaya devam eder.
- ⌘⇧↩ her zaman tek seferde sona kadar çalıştırır.
- ⌘. veya Esc, devam eden bir çalıştırmayı herhangi bir anda durdurur.








