ApsaraDB for SelectDB değişkenleri, sorgu davranışını, oturum ayarlarını ve küme genelindeki yapılandırmayı kontrol eder. Değişkenler iki kategoriye ayrılır: ApsaraDB for SelectDB'ye özgü olanlar ve MySQL istemci protokolüyle uyumlu olanlar.
Değişkenlerin çalışma biçimi
Değişkenler iki kapsamda ayarlanabilir:
Oturum kapsamı: Yalnızca geçerli bağlantı için etkili olur. Oturum sonlandığında sıfırlanır.
Global kapsam: Geçerli oturum ve sonraki tüm oturumlar için etkili olur. Global değişkenleri yalnızca admin kullanıcısı ayarlayabilir.
Birden fazla düzey yapılandırıldığında, ayarlar şu öncelik sırasına göre etkili olur (en yüksekten en düşüğe):
Oturum değişkenleri
Kullanıcı özellikleri
Global değişkenler
Varsayılan değerler
Daha yüksek öncelikli bir ayar yapılandırılmamışsa, bir sonraki düzey otomatik olarak devreye girer.
Değişkenleri görüntüleme
Tüm değişkenleri ve mevcut değerlerini listelemek için SHOW VARIABLES komutunu çalıştırın:
SHOW VARIABLES;
İsme göre filtrelemek için:
SHOW VARIABLES LIKE '%time_zone%';
Değişken ayarlama
Oturum değişkeni ayarlama
Oturum değişkenleri hemen etkili olur ve yalnızca geçerli bağlantıya uygulanır:
SET exec_mem_limit = 137438953472;
SET forward_to_master = true;
SET time_zone = "Asia/Shanghai";
Değişkenler ayrıca sabit ifadeleri de kabul eder:
SET exec_mem_limit = 10 * 1024 * 1024 * 1024;
SET forward_to_master = concat('tr', 'u', 'e');
Global değişken ayarlama
Global değişkenler, geçerli oturum ve sonraki tüm oturumlar için etkili olur:
SET GLOBAL exec_mem_limit = 137438953472;
Global değişkenleri yalnızca admin kullanıcısı ayarlayabilir.
Aşağıdaki değişkenler hem oturum hem de global kapsamı destekler:
time_zonewait_timeoutsql_modeenable_profilequery_timeoutinsert_timeoutexec_mem_limitbatch_sizeallow_partition_column_nullableinsert_visible_timeout_msenable_fold_constant_by_be
Aşağıdaki değişkenler yalnızca global kapsamı destekler:
default_rowset_typedefault_password_lifetimepassword_historyvalidate_password_policy
Tek bir sorgu için değişkeni geçersiz kılma
Oturum durumunu değiştirmeden tek bir ifade için oturum değişkeni ayarlamak üzere SET_VAR ipucunu kullanın:
SELECT /*+ SET_VAR(exec_mem_limit = 8589934592) */ name FROM people ORDER BY name;
SELECT /*+ SET_VAR(query_timeout = 1, enable_partition_cache=true) */ sleep(3);
Yorumlar /*+ ile başlamalı ve SELECT ifadesini takip etmelidir.
Saat dilimi değişkenleri
ApsaraDB for SelectDB iki saat dilimi değişkeni sağlar:
| Değişken | Açıklama | Değiştirilebilir |
|---|---|---|
system_time_zone |
Kümenin sistem saat dilimi. Sunucu başlatıldığında, sunucunun işletim sistemi saat dilimine göre otomatik olarak ayarlanır. | Hayır |
time_zone |
Kümenin geçerli saat dilimi. Zaman işlevlerini ve saat dilimi ofsetleri içeren içe aktarılan verileri etkiler. | Evet |
Saat dilimi değişkenlerini sorgulama ve ayarlama
Her iki saat dilimi değişkenini de görüntülemek için:
SHOW VARIABLES LIKE '%time_zone%';
Oturum saat dilimini ayarlamak için:
SET time_zone = 'Asia/Shanghai';
Sonraki tüm oturumlar için küme saat dilimini ayarlamak için:
SET GLOBAL time_zone = 'Asia/Shanghai';
Desteklenen saat dilimi formatları
| Format türü | Örnekler |
|---|---|
| Adlandırılmış (IANA tz veritabanı) | Asia/Shanghai, America/Los_Angeles |
| UTC ofseti | +02:30, -10:00 |
| Kısaltmalar | GMT, UTC (+00:00 ile eşdeğer); CST (Asia/Shanghai ile eşdeğer) |
| Zulu | Z (+00:00 ile eşdeğer) |
Bazı veri içe aktarma yöntemleri, yukarıda listelenmeyen ek saat dilimi formatlarını kabul edebilir. Üretim ortamında standart olmayan formatlara güvenmeyin; ApsaraDB for SelectDB bunları işleme biçimini istediği zaman değiştirebilir.
Saat dilimi ayarlarının işlevleri ve verileri nasıl etkilediği
Etkilenen işlevler
Aşağıdaki işlevler, geçerli time_zone ayarına göre sonuç döndürür:
| İşlev | Davranış |
|---|---|
FROM_UNIXTIME |
Bir UTC zaman damgasını yapılandırılan saat dilimindeki tarih ve saate dönüştürür. CST ile FROM_UNIXTIME(0) ifadesi 1970-01-01 08:00:00 değerini döndürür. |
UNIX_TIMESTAMP |
Tarih ve saati bir UTC zaman damgasına dönüştürür. CST ile UNIX_TIMESTAMP('1970-01-01 08:00:00') ifadesi 0 değerini döndürür. |
CURTIME |
Yapılandırılan saat dilimindeki geçerli saati döndürür. |
NOW |
Yapılandırılan saat dilimindeki geçerli tarih ve saati döndürür. |
CONVERT_TZ |
Tarih ve saati bir saat diliminden diğerine dönüştürür. |
SHOW LOAD ve SHOW BACKENDS çıktısı da yapılandırılan saat dilimini yansıtır.
Saat dilimi ayarlarından etkilenmeyenler:
CREATE TABLEiçindeki zaman türü bölüm anahtarı sütunlarınınless thandeğerleriDATEveyaDATETIMEtürü olarak depolanan değerler (depolanan değerin kendisi değişmez)
İçe aktarma sırasında zaman türü veriler
DATE, DATEV2, DATETIME veya DATETIMEV2 türündeki verileri içe aktarırken ApsaraDB for SelectDB saat dilimi dönüşümünü aşağıdaki gibi işler:
Saat dilimi sonekli veriler (örneğin,
2020-12-12 12:12:12+08:00): Kümenin geçerlitime_zonedeğerine dönüştürülür. Örneğin,time_zonedeğeri+00:00ise, depolanan değer2020-12-12 04:12:12olur.Saat dilimi soneki olmayan veriler (örneğin,
2020-12-12 12:12:12): Mutlak zaman olarak kabul edilir — dönüşüm yapılmadan olduğu gibi içe aktarılır.
Yaz saati uygulaması
Yaz saati uygulamaları ayarlamaları adlandırılmış saat dilimlerine gömülüdür. Örneğin, America/Los_Angeles Mart ayında -08:00 değerinden -07:00 değerine, Kasım ayında tekrar eski değerine geçer.
Yaz saati değişikliklerinden kaçınmak için, time_zone değerini America/Los_Angeles gibi adlandırılmış bir bölge yerine sabit bir UTC ofsetine (örneğin, -08:00) ayarlayın.
Saat dilimi veri kaynakları
Her backend (BE) düğümünde, ApsaraDB for SelectDB saat dilimi verilerini sırasıyla aşağıdaki konumlarda arar:
TZDIRkomutu tarafından döndürülen dizin/usr/share/zoneinfoBE dağıtım dizinindeki
zoneinfodizini
Hiçbir konumda saat dilimi verisi bulunamazsa, BE düğümü başlatılamaz.
En iyi uygulamalar
Saat dilimine duyarlı veriler
Verileri içe aktarmadan önce saat dilimi bilgilerinin tutarlı bir şekilde nasıl işleneceğine karar verin. DATETIME gibi zaman türündeki veriler bir saat dilimi depolamaz; ApsaraDB for SelectDB iki kategoriyi ayırt eder:
Mutlak zaman: Veride saat dilimi yoktur, içe aktarma sırasında saat dilimi yapılandırılmamıştır. Örnek: 2023-12-12 08:00:00. Olduğu gibi depolanır ve sorgulanır, time_zone değerinden etkilenmez.
Belirli bir saat dilimindeki zaman: Veri bir saat dilimi soneki içerir. Örnek: 2020-12-12 12:12:12+02:00. Hangi saat dilimi ayarının geçerli olacağı içe aktarma yöntemi tarafından belirlenir:
INSERT INTO:time_zoneoturum değişkeni tarafından yönetilir.Stream Load veya Broker Load:
timezoneistek üstbilgisi tarafından yönetilir.timezoneüstbilgisi iletime_zoneoturum değişkeni çakışırsa,timezoneüstbilgisi önceliklidir.
ApsaraDB for SelectDB, gelen verilerdeki gerçek saat dilimini, içe aktarma sırasında time_zone ile yapılandırılan saat dilimine dönüştürür.
Önerilen yaklaşım: İçe aktarmadan önce time_zone değerini bir kez ayarlayın ve ardından tutarlı tutun. Saat dilimi farkındalığı olan verileri içe aktardıktan sonra time_zone değerini değiştirmek, depolanan değerlerin sonraki sorgularda yanlış yorumlanmasına neden olur.
Aşağıdaki örnek, time_zone değerinin oturum ortasında değiştirilmesi durumunda ne olduğunu gösterir:
-- Current time zone: Asia/Hong_Kong
SELECT @@time_zone;
-- +----------------+
-- | @@time_zone |
-- +----------------+
-- | Asia/Hong_Kong |
-- +----------------+
-- Import data with literal time zone +02:00
-- Stored as 2020-12-12 18:12:12 (converted to Asia/Hong_Kong)
INSERT INTO dtv23 VALUES('2020-12-12 12:12:12+02:00');
SELECT * FROM dtv23;
-- +-------------------------+
-- | k0 |
-- +-------------------------+
-- | 2020-12-12 18:12:12.000 |
-- +-------------------------+
-- Changing time_zone does not update stored values
SET time_zone = 'America/Los_Angeles';
-- A second import now uses America/Los_Angeles for conversion
INSERT INTO dtv23 VALUES('2020-12-12 12:12:12+02:00');
SELECT * FROM dtv23;
-- Rows now carry inconsistent time zone semantics
-- +-------------------------+
-- | k0 |
-- +-------------------------+
-- | 2020-12-12 02:12:12.000 | -- imported under America/Los_Angeles
-- | 2020-12-12 18:12:12.000 | -- imported under Asia/Hong_Kong
-- +-------------------------+
Saat dilimi en iyi uygulamalarının özeti:
Verileri içe aktarmadan önce kümenin
time_zonedeğerini onaylayın ve sonrasında değiştirmeyin.Stream Load veya Broker Load kullanırken,
timezoneüstbilgisinitime_zoneoturum değişkeniyle aynı değere ayarlayın.Mutlak zaman verileri için saat dilimi soneki olmadan içe aktarın. Saat dilimi farkındalığı olan veriler için saat dilimi sonekini ekleyin ve dönüşümü ApsaraDB for SelectDB'nin işlemesine izin verin.
Yaz saati uygulaması doğruluğu
Adlandırılmış saat dilimi verileri (yaz saati uygulama başlangıç ve bitiş tarihleri dahil) Internet Assigned Numbers Authority (IANA) tarafından korunur. Her BE düğümünde depolanan veriler, IANA tarafından geçerli yıl için onaylanan en son değişiklikleri yansıtmayabilir.
İş yükünüz en son yaz saati uygulaması takvimini gerektiriyorsa, her BE düğümündeki saat dilimi veri kaynağının en son IANA tz veritabanı sürümünü içerdiğinden emin olun. En son veriler için bkz. The tz-announce Archives.
Zaman aşımı ayarları
ApsaraDB for SelectDB, query_timeout ve insert_timeout değişkenlerini ve kullanıcı özelliklerini kullanarak birden çok düzeyde zaman aşımı yapılandırmasını destekler.
Priority order (highest to lowest): Oturum değişkenleri > Kullanıcı özellikleri > Global değişkenler > Varsayılan değerler
| Değişken | Kapsam | Varsayılan | Açıklama |
|---|---|---|---|
query_timeout |
Oturum, Global, Kullanıcı özelliği | 900 sn (15 dk) | Tüm sorgu ifadelerinin zaman aşımını kontrol eder. |
insert_timeout |
Oturum, Global, Kullanıcı özelliği | 14400 sn (4 sa) | Özellikle INSERT ifadelerinin zaman aşımını kontrol eder. INSERT çalıştırılırken, query_timeout ve insert_timeout değerlerinden daha uzun olanı uygulanır. |
Zaman aşımı için kullanıcı özellikleri:
query_timeoutveinsert_timeoutkullanıcı özellikleri, belirli bir kullanıcı için yalnızca admin kullanıcısı tarafından ayarlanabilir.Bu özelliklerin kota anlambilimi yoktur; belirtilen kullanıcı için varsayılan zaman aşımını değiştirirler.
Kullanıcı özelliklerinde yapılan değişiklikler, istemci yeniden bağlandıktan sonra etkili olur.
Ek
Desteklenen değişkenler
Boole değişkenleri
Boole değişkenleri bir özelliği etkinleştirir veya devre dışı bırakır. Geçerli değerler: true ve false.
| Değişken | Varsayılan | Açıklama |
|---|---|---|
delete_without_partition |
false | true olduğunda, bölüm yan tümcesi olmayan bir DELETE ifadesi otomatik olarak tüm bölümlere uygulanır. Bu, DELETE işleminin süresini uzatır ve çok sayıda görev oluşturur. Gerekmedikçe devre dışı bırakın. |
disable_colocate_join |
false | true olduğunda, Colocation Join özelliğini devre dışı bırakır. Yürütme planı Colocation Join işlemlerini denemez. |
enable_bucket_shuffle_join |
true | false olduğunda, Bucket Shuffle Join özelliğini devre dışı bırakır. Yürütme planı Bucket Shuffle Join işlemlerini denemez. |
disable_streaming_preaggregations |
false | true olduğunda, akış ön toplamasını devre dışı bırakır. Bu değişken değiştirilemez. |
enable_insert_strict |
false | true olduğunda, INSERT ifadesi veri içe aktarmaları için katı modu etkinleştirir. |
enable_spilling |
false | true olduğunda, büyük veri kümeleri için disk üzerinde sıralamayı etkinleştirir. Geçici veriler BE üzerindeki doris-scratch/ dizinine yazılır ve sorgu tamamlandıktan sonra temizlenir. Bu özellik deneyseldir; üretimde etkinleştirmeyin. |
forward_to_master |
true | true olduğunda, belirli SHOW ifadelerini yürütme için ana FE düğümüne iletir. Ana FE düğümü, SHOW FRONTENDS, SHOW BACKENDS, SHOW BROKER, SHOW TABLET, SHOW REPLICA DISTRIBUTION, SHOW REPLICA STATUS ve SHOW PROC için daha ayrıntılı bilgi döndürür. |
enable_profile |
false | true olduğunda, her sorgudan sonra sorgu profilini FE'ye gönderir. Profilleri fe_host:fe_http_port/query adresinde görüntüleyin. Sayfa, bu değişken etkinleştirildikten sonraki en son 100 sorguyu gösterir. |
rewrite_count_distinct_to_bitmap_hll |
true | true olduğunda, bitmap veya HyperLogLog (HLL) verileri için COUNT DISTINCT ifadesini BITMAP_UNION_COUNT veya HLL_UNION_AGG ile değiştirir. |
allow_partition_column_nullable |
true | true olduğunda, bölüm anahtarı sütunları NULL olarak tanımlanabilir. false olduğunda, bölüm anahtarı sütunları NOT NULL olmalıdır. |
enable_exchange_node_parallel_merge |
false | true olduğunda, exchange düğümü sıralı verileri paralel olarak birleştirmek için birden çok iş parçacığı kullanır ve büyük sıralama işlemlerinde tek iş parçacığı birleştirme darboğazlarını azaltır. |
extract_wide_range_expr |
false | true olduğunda, geniş ortak çarpan çıkarmayı etkinleştirir. |
enable_fold_constant_by_be |
false | true olduğunda, sabit katlama uzaktan yordam çağrısı (RPC) istekleri aracılığıyla BE üzerinde gerçekleştirilir. false olduğunda, sabit katlama FE üzerinde çalışır. |
disable_join_reorder |
false | true olduğunda, tüm otomatik Join Reorder algoritmalarını devre dışı bırakır. JOIN işlemleri SQL ifadesindeki tablo sırasını izler. |
enable_infer_predicate |
true | true olduğunda, yüklem türetmeyi etkinleştirir. false olduğunda, ApsaraDB for SelectDB türetme olmadan orijinal yüklemi kullanır. |
trim_tailing_spaces_for_external_table_query |
false | true olduğunda, Hive harici tablolarını sorgularken alanlardaki sondaki boşlukları kırpır. |
enable_inverted_index_query |
true | true olduğunda, ters dizinler sorgularda kullanılır. |
skip_missing_version |
false | true olduğunda, sorgular FE'de kaydedilen görünür sürümü yoksayar ve bunun yerine BE çoğaltma sürümünü kullanarak eksik sürümleri atlar. Yalnızca acil durum veri kurtarma senaryolarında kullanın. Bu değişken yalnızca use_fix_replica değeri -1 olarak ayarlandığında etkili olur. |
enable_parquet_lazy_materialization |
true | true olduğunda, Parquet Reader için geç materyalizasyonu etkinleştirir. |
enable_orc_lazy_materialization |
true | true olduğunda, ORC Reader için geç materyalizasyonu etkinleştirir. |
enable_strong_consistency_read |
true | true olduğunda, oturumlar arasında veri okumaları için güçlü tutarlılığı etkinleştirir. Varsayılan olarak, güçlü tutarlılık yalnızca aynı oturum içinde korunur. Oturumlar arasında veri okumaları için güçlü tutarlılığı etkinleştirmek istiyorsanız, bu değişkeni true olarak ayarlayın. |
truncate_char_or_varchar_columns |
false | true olduğunda, altta yatan Parquet veya ORC dosyası farklı bir uzunluk kullanıyor olsa bile, CHAR ve VARCHAR sütunlarını tablo şemasında tanımlanan maksimum uzunluğa kırpır. |
jdbc_clickhouse_query_final |
false | true olduğunda, JDBC Catalog özelliği aracılığıyla yapılan ClickHouse sorgularına, ReplacingMergeTree tablo motoruyla deduplikasyon için FINAL anahtar sözcüğünü ekler. |
enable_memtable_on_sink_node |
false | true olduğunda, içe aktarma sırasında Data Sink düğümünde bir bellek tablosu oluşturur ve segmentleri bRPC akışı aracılığıyla diğer BE düğümlerine göndererek çoğaltmalar arasındaki yinelenen işleri azaltır. |
enable_unique_key_partial_update |
false | true olduğunda, Merge on Write (MOW) modunu kullanan Unique Key model tablolarında INSERT INTO için kısmi sütun güncelleme anlambilimini etkinleştirir. Hem enable_unique_key_partial_update hem de enable_insert_strict değerleri true ise, INSERT INTO yalnızca mevcut satırları güncelleyebilir. Kısmi sütun güncellemeleriyle yeni satırlar eklemek için enable_unique_key_partial_update değerini true ve enable_insert_strict değerini false olarak ayarlayın. |
describe_extend_variant_column |
false | true olduğunda, DESCRIBE çıktısında VARIANT türü sütunlar için alt sütunları görüntüler. |
dry_run_query |
false | true olduğunda, gerçek sonuç kümesi yerine yalnızca satır sayısını döndürür. Data Sink düğümü verileri yazmak yerine bırakır. Sonuçları iletme yükü olmadan büyük veri kümelerini test etmek için kullanışlıdır. |
drop_table_if_ctas_failed |
true | true olduğunda, CREATE TABLE AS SELECT bir yazma hatası nedeniyle başarısız olursa oluşturulan tabloyu siler. |
show_user_default_role |
false | true olduğunda, SHOW ROLES çıktısına her kullanıcının örtük rolünü dahil eder. |
group_by_and_having_use_alias_first |
false | true olduğunda, GROUP BY ve HAVING yan tümceleri FROM yan tümcesini aramadan önce sütun takma adlarını çözer. |
enable_file_cache |
false | true olduğunda, blok dosya önbelleğini etkinleştirir. Bu değişken yalnızca BE'nin be.conf dosyasında da enable_file_cache=true ayarlanmışsa etkili olur. |
enable_auto_analyze |
true | true olduğunda, otomatik istatistik toplamayı etkinleştirir. |
enable_cost_based_join_reorder |
false | true olduğunda, JOIN işlemlerinde tablo sırasını otomatik olarak ayarlamak için maliyet tabanlı Join Reorder'ı etkinleştirir. |
enable_fallback_to_original_planner |
false | true olduğunda, yeni optimize edici desteklenmeyen senaryolarla karşılaştığında otomatik olarak orijinal optimize ediciye geri döner. |
enable_odbc_transcation |
false | true olduğunda, JDBC Catalog'a veri yazmak için işlem desteğini etkinleştirir. |
enable_parallel_outfile |
false | true olduğunda, SELECT INTO OUTFILE için paralel taramayı etkinleştirir. |
enable_sql_cache |
false | true olduğunda, SQL ifadesi sonuç önbelleğini etkinleştirir. |
enable_unicode_name_support |
false | true olduğunda, Unicode karakterleri (Çince dahil) içeren tablo ve sütun adlarını destekler. |
enable_vectorized_engine |
true | true olduğunda, sorguları hızlandırmak için vektörize motoru etkinleştirir. |
experimental_enable_nereids_planner |
true | true olduğunda, yeni optimize ediciyi (Nereids) etkinleştirir. Bu özellik deneyseldir. |
experimental_enable_pipeline_engine |
true | true olduğunda, Pipeline yürütme motorunu etkinleştirir. Bu özellik deneyseldir. |
experimental_enable_single_replica_insert |
false | true olduğunda, veri içe aktarma için bir çoğaltmayı birincil olarak seçer. Diğer çoğaltmalar, yazma tamamlandıktan sonra veri dosyalarını birincilden çeker ve çoğaltmalar arasındaki yinelenen hesaplamayı azaltır. |
faster_float_convert |
false | true olduğunda, daha hızlı bir kayan noktalı sayı dönüştürme algoritması kullanır. Bu algoritmanın çıktı formatını değiştirebileceğini unutmayın. |
enable_page_cache |
true | true olduğunda, sayfa düzeyi önbelleği etkinleştirir. |
strict_mode |
false | true olduğunda, veri içe aktarma için katı modu etkinleştirir. |
Yapılandırma değişkenleri
Yapılandırma değişkenleri, basit bir true/false değerinin ötesinde bir değer aralığını kabul eder.
| Değişken | Varsayılan | Açıklama |
|---|---|---|
auto_broadcast_join_threshold |
0.8 | Broadcast Join için izin verilen karma tablo belleğinin toplam yürütme belleğine oranının maksimum değeri. Karma tablo bu oranı aştığında, ApsaraDB for SelectDB Shuffle Join'a geçer. Yayını tamamen devre dışı bırakmak için -1 olarak ayarlayın. Join yöntemini açıkça kontrol etmek için join[shuffle] gibi bir sorgu ipucu kullanın. |
batch_size |
1024 | Bir sorgu sırasında düğümler arasında iletilen paket başına satır sayısı. Daha büyük değerler, büyük taramalar için aktarım hızını artırır ancak küçük sorgular için gecikme süresini ve bellek kullanımını artırabilir. Önerilen aralık: 1024–4096. |
default_order_by_limit |
-1 | ORDER BY sonrasında döndürülen varsayılan satır sayısı. -1 sınırı olmadığı anlamına gelir (maksimum LONG değerine kadar). |
exec_mem_limit |
2 GB | Tek bir sorgu için maksimum bellek. Birimleri kabul eder: bayt (varsayılan), KB, MB, GB, TB, PB. Fragment instance başına belleği sınırlar; küme genelindeki sorgu için toplam belleği değil. Memory Exceed Limit hatası oluşursa, bu değeri üstel olarak artırın (4 GB, 8 GB, 16 GB). |
lower_case_table_names |
0 | Tablo adı büyük/küçük harf duyarlılığını kontrol eder. 0: Büyük/küçük harfe duyarlı. 1: Büyük/küçük harfe duyarsız; adlar küçük harfle depolanır ve karşılaştırılır. 2: Büyük/küçük harfe duyarsız; adlar CREATE TABLE içinde belirtildiği gibi depolanır ancak küçük harfle karşılaştırılır. Küme başlatma sırasında fe.conf dosyasında ayarlanmalı ve daha sonra SET ile değiştirilemez. |
max_pushdown_conditions_per_column |
-1 | Sütun başına depolama motoruna itilen yüklem koşullarının maksimum sayısı. -1 değeri, be.conf değerini kullanır. Pozitif bir değer, geçerli oturum için be.conf değerini geçersiz kılar. |
max_scan_key_num |
-1 | Bir tarama düğümünün sorgu başına bölebileceği tarama anahtarlarının maksimum sayısı. -1 değeri, be.conf değerini kullanır. Pozitif bir değer, geçerli oturum için be.conf değerini geçersiz kılar. |
parallel_exchange_instance_num |
-1 | Yukarı akış düğümünün aşağı akış düğümlerinden veri almak için kullandığı exchange düğümlerinin sayısı. -1 değeri, aşağı akış instance sayısıyla eşleşir. Aşağı akış instance sayısından düşük pozitif bir değer, exchange düğümlerinin sayısını sınırlar ve küçük toplu çıkışlı toplama sorgularında ek yükü azaltmak için kullanışlıdır. |
analyze_timeout |
43200 sn | ANALYZE ifadeleri için saniye cinsinden zaman aşımı. |
auto_analyze_end_time |
— | Otomatik istatistik toplama penceresinin bitiş zamanı. |
auto_analyze_start_time |
— | Otomatik istatistik toplama penceresinin başlangıç zamanı. |
auto_analyze_table_width_threshold |
70 | Bu eşiğinden fazla sütunu olan tablolar, otomatik istatistik toplamadan hariç tutulur. |
div_precision_increment |
4 | / bölme işlemlerinin sonucuna eklenen ek ondalık basamak sayısı. |
external_agg_bytes_threshold |
— | Toplama işlemleri için bellek eşiği. Aşıldığında, bellek içi veriler diske dökülür. |
external_sort_bytes_threshold |
— | Sıralama işlemleri için bellek eşiği. Aşıldığında, bellek içi veriler diske dökülür. |
external_table_auto_analyze_interval_in_millis |
86400000 ms | Harici tablolar için otomatik istatistik toplamaları arasındaki minimum aralık. |
fragment_transmission_compression_codec |
lz4 | Düğümler arasında veri iletimi sırasında kullanılan sıkıştırma formatı. |
huge_table_auto_analyze_interval_in_millis |
0 | Büyük tablolar (huge_table_lower_bound_size_in_bytes ile belirtilen boyutun 5 katından büyük) için otomatik istatistik toplamaları arasındaki minimum aralık. |
huge_table_default_sample_rows |
4194304 | Otomatik istatistik toplama sırasında büyük tablolar için örneklenen satır sayısı. |
huge_table_lower_bound_size_in_bytes |
0 | Bu eşiğinden büyük tablolar, otomatik istatistik toplama sırasında örneklenir. |
ignore_runtime_filter_ids |
(boş) | Yoksayılacak çalışma zamanı filtre kimlikleri. |
max_filter_ratio |
0 | İçe aktarma sırasında filtrelenebilen satırların maksimum oranı (örneğin, doğrulamayı geçemeyen satırlar). |
max_instance_num |
64 | parallel_pipeline_task_num ayarlanmadığında, SQL sorgusu başına eşzamanlı Pipeline görevlerinin maksimum sayısı. |
parallel_pipeline_task_num |
0 | SQL sorgusu başına eşzamanlı Pipeline görevlerinin sayısı. 0 olduğunda, ApsaraDB for SelectDB bunu her BE düğümündeki CPU çekirdek sayısının yarısına, max_instance_num değerine kadar olacak şekilde ayarlar. |
runtime_filter_type |
IN veya Bloom filtresi | Kullanılan çalışma zamanı filtresinin türü. Seçenekler: Bloom filtresi, MinMax filtresi, IN yüklemi, IN veya Bloom filtresi, bitmap filtresi. |
runtime_filter_mode |
GLOBAL | Çalışma zamanı filtreleri için itme politikası. Seçenekler: OFF, LOCAL, GLOBAL. |
runtime_filter_wait_time_ms |
1000 ms | Sol tablonun tarama düğümünün her bir çalışma zamanı filtresi için beklediği süre. |
runtime_filters_max_num |
10 | Sorgu başına maksimum Bloom filtresi sayısı. |
runtime_bloom_filter_min_size |
1048576 bayt (1 MB) | Bloom filtresinin minimum boyutu. |
runtime_bloom_filter_max_size |
16777216 bayt (16 MB) | Bloom filtresinin maksimum boyutu. |
runtime_bloom_filter_size |
2097152 bayt (2 MB) | Bloom filtresinin varsayılan boyutu. |
runtime_filter_max_in_num |
1024 | IN yüklemi oluşturulabilecek sağ tablodaki maksimum satır sayısı. |
parallel_fragment_exec_instance_num |
1 | Her BE düğümünde tarama aralıklarını işleyen instance sayısı. Bu değeri artırmak, büyük sorgular için aktarım hızını artırır ancak CPU, bellek ve disk G/Ç kullanımını artırır. |
query_timeout |
900 sn | Geçerli bağlantıdaki tüm sorgu ifadeleri için zaman aşımı. INSERT ifadeleri için bunun yerine insert_timeout kullanın. |
insert_timeout |
14400 sn | INSERT ifadeleri için zaman aşımı. insert_timeout değeri query_timeout değerinden küçükse, query_timeout değeri uygulanır (geriye dönük uyumluluk için). |
send_batch_parallelism |
— | INSERT işlemleri sırasında toplu veri gönderimleri için varsayılan eşzamanlılık. BE yapılandırma öğesi max_send_batch_parallelism_per_job ile sınırlıdır. |
sql_mode |
— | SQL sözdizimi uyumluluğunu ve veri doğrulama katılığını kontrol eder. Bkz. SQL Mode. |
sql_select_limit |
(sınır yok) | SELECT tarafından döndürülen varsayılan maksimum satır sayısı; INSERT içindeki SELECT dahil. |
time_zone |
system_time_zone değeri |
Geçerli oturumun saat dilimi. Zaman işlevi sonuçlarını etkiler. Bkz. Saat dilimi değişkenleri. |
wait_timeout |
28800 sn (8 sa) | Boşta kalan bağlantı zaman aşımı. ApsaraDB for SelectDB, bu süreden daha uzun süre boşta kalan bağlantıları kapatır. |
default_rowset_type |
beta | Hesaplama düğümleri için varsayılan depolama formatı. Geçerli değerler: alpha, beta. |
use_v2_rollup |
— | Sorguların Segment V2 formatındaki ROLLUP dizinlerini kullanıp kullanmayacağını kontrol eder. Segment V2 geçişi sırasında doğrulama için kullanılır. |
prefer_join_method |
— | Broadcast Join ve Shuffle Join'in maliyeti eşit olduğunda tercih edilen join yöntemi. Geçerli değerler: broadcast, shuffle. |
insert_visible_timeout_ms |
10000 ms | ApsaraDB for SelectDB'nin bir INSERT tamamlandıktan sonra işlemin commit edilmesini ve verilerin görünür hale gelmesini beklediği süre. Minimum değer: 1000 ms. |
cpu_resource_limit |
-1 (sınır yok) | Bir sorgunun tek bir düğümde kullanabileceği tarama iş parçacığı sayısını sınırlar. parallel_fragment_exec_instance_num değerini geçersiz kılar. cpu_resource_limit kullanıcı özelliği tarafından geçersiz kılınır. Bu özellik deneyseldir. |
return_object_data_as_binary |
— | true olduğunda, SELECT sonuçlarında bitmap ve HLL verilerini ikili format olarak döndürür. SELECT INTO OUTFILE için CSV çıktısı Base64 olarak kodlanır; Parquet çıktısı bir bayt dizisi olarak depolanır. Java'da örnek: stmt.execute("set return_object_data_as_binary=true");. Daha fazla bilgi için bkz. samples. |
block_encryption_mode |
NULL | Blok şifreleme modu. AES_128_ECB Advanced Encryption Standard (AES) algoritmasını kullanır. SM4_128_ECB ShangMi 4 (SM4) algoritmasını kullanır. Desteklenen modların tam listesi için değişken açıklamasına bakın. |
default_password_lifetime |
0 (asla sona ermez) | Gün cinsinden varsayılan parola sona erme süresi. Yalnızca PASSWORD_EXPIRE DEFAULT ilkesine sahip kullanıcılar için geçerlidir. |
password_history |
0 (sınır yok) | Saklanan önceki parolaların sayısı. Yalnızca PASSWORD_HISTORY DEFAULT ilkesine sahip kullanıcılar için geçerlidir. |
validate_password_policy |
NONE (0) | Parola gücü ilkesi. STRONG (2), en az 8 karakterden oluşan ve büyük harfler, küçük harfler, rakamlar ve özel karakterlerden (~ ! @ # $ % ^ & * ( ) _ + | < > , . ? / : ; ' [ ] { } ") en az 3'ünü içeren parolalar gerektirir. |
rewrite_or_to_in_predicate_threshold |
2 | OR operatörlerinin IN yüklemine yeniden yazılmadan önceki minimum sayısı. |
file_cache_base_path |
rastgele | BE'deki blok dosya önbelleği için depolama yolu. BE yapılandırmasından rastgele seçilen bir yola varsayılan olarak ayarlanır. |
topn_opt_limit_threshold |
1024 | top-N sorgu optimizasyonlarını (dinamik filtreleme, iki aşamalı sonuç alma, anahtar sıralı okuma) etkinleştirmek için LIMIT yan tümcesi eşiği. Optimizasyonlar n <= threshold olduğunda uygulanır. |
use_fix_replica |
-1 (devre dışı) | 0 veya daha yüksek bir değere ayarlandığında, her zaman o seri numarası rütbesine sahip çoğaltmayı kullanır (0 = en küçük). |
Uyumlu ve ayrılmış değişkenler
Bu değişkenlerin ApsaraDB for SelectDB'de işlevsel bir etkisi yoktur. MySQL istemcileri veya JDBC bağlantı havuzlarıyla uyumluluk için mevcutturlar.
| Değişken | Amaç |
|---|---|
SQL_AUTO_IS_NULL |
c3p0 JDBC bağlantı havuzuyla uyumluluk. |
auto_increment_increment |
MySQL istemci uyumluluğu. Otomatik artan sütun davranışını etkilemez. |
auto_increment_offset |
MySQL istemci uyumluluğu. Otomatik artan sütun davranışını etkilemez. |
autocommit |
MySQL istemci uyumluluğu. |
character_set_client |
MySQL istemci uyumluluğu. |
character_set_connection |
MySQL istemci uyumluluğu. |
character_set_results |
MySQL istemci uyumluluğu. |
character_set_server |
MySQL istemci uyumluluğu. |
collation_connection |
MySQL istemci uyumluluğu. |
collation_database |
MySQL istemci uyumluluğu. |
collation_server |
MySQL istemci uyumluluğu. |
have_query_cache |
MySQL istemci uyumluluğu. |
init_connect |
MySQL istemci uyumluluğu. |
interactive_timeout |
MySQL istemci uyumluluğu. |
language |
MySQL istemci uyumluluğu. |
max_allowed_packet |
c3p0 JDBC bağlantı havuzuyla uyumluluk. |
net_buffer_length |
MySQL istemci uyumluluğu. |
net_read_timeout |
MySQL istemci uyumluluğu. |
net_write_timeout |
MySQL istemci uyumluluğu. |
query_cache_size |
MySQL istemci uyumluluğu. |
query_cache_type |
c3p0 JDBC bağlantı havuzuyla uyumluluk. |
sql_safe_updates |
MySQL istemci uyumluluğu. |
tx_isolation |
MySQL istemci uyumluluğu. |
tx_read_only |
MySQL istemci uyumluluğu. |
transaction_read_only |
MySQL istemci uyumluluğu. |
transaction_isolation |
MySQL istemci uyumluluğu. |
version |
MySQL istemci uyumluluğu. |
performance_schema |
MySQL JDBC 8.0.16 ve sonraki sürümlerle uyumluluk. |
codegen_level |
LLVM codegen düzeyini ayarlar. Etkisi yoktur. |
license |
ApsaraDB for SelectDB lisansını görüntüler. |
resource_group |
Ayrılmış. |
system_time_zone |
Küme başlatma sırasında sistem saat dilimine ayarlanır. Değiştirilemez. |
version_comment |
ApsaraDB for SelectDB sürümünü görüntüler. Değiştirilemez. |
dump_nereids_memo |
Gerileme testi için kullanılır. |
group_concat_max_len |
Bazı iş zekası (BI) araçlarıyla uyumluluk. |
be_number_for_test |
Pratik bir etkisi yoktur. |
workload_group |
Ayrılmış. |
Başvurular
The tz-announce Archives — En son IANA saat dilimi veritabanı sürümleri