SELECT TOP (SELECT FIRST) Performans farkı TEXT alanlarda
"select TOP 20 * FROM VSTOKHAREKETLERI WHERE KULLANICIADI LIKE '%XYZQWERTWERT%'" gibi.
Yani tabloyu baştan sona tarasın. Tabi bir de ilk denemede ne kadar sürüyor. Yani bilgisayarı veya MS-SQL Server'ı yeni açtığında test etmelisin. Zira MS-SQL bir tablo ile ilgili bir işlem yaptığında ilkinde hafızaya alıyor sonra hafızadan işlem yapıyor. Hızlı olmasının bir nedeni de bu zaten (yani bazı yerlerde).
İyi çalışmalar.
Yani tabloyu baştan sona tarasın. Tabi bir de ilk denemede ne kadar sürüyor. Yani bilgisayarı veya MS-SQL Server'ı yeni açtığında test etmelisin. Zira MS-SQL bir tablo ile ilgili bir işlem yaptığında ilkinde hafızaya alıyor sonra hafızadan işlem yapıyor. Hızlı olmasının bir nedeni de bu zaten (yani bazı yerlerde).
İyi çalışmalar.
FB ilk SELECT'lerde ve daha birçok ilklerde ve kullanıcı sayısının az olduğu çoğu yerde zaten hızlı olduğu defalarca konuşuldu (MS-SQL'le kıyaslandığında) forumda. Ancak daha önce de belirttiğim gibi MS-SQL ilk işlemde tabloları hafızaya alıyor ve sonrasında hızlanıyor.kimene yazdı:FB aynı işlemi 1 sn nin altında gerçekleştirdi.
kayıt sayısı:240.000
iyi çalışmalar.
İyi çalışmalar.
Selamlar,
Hakan Can, FB'de Cache'leme var ama bunu kullanıcı kendisi istertse açabiliyor, normalde açmıyor (Sen de bunu yazmışsın ama pek açık bir ifade olmamış
) Yanlış anlaşılmasın.
Kimene, eğer firebird.conf isimli dosyaya girip bakarsanız orada bir çok performans arttırıcı konfigurasyon ayarları olduğunu görürsünüz.
Örneğin, Default olarak FB'nin CPU priority'si NORMAL'dir. M$-SQL'de ise HIGH olarak çalışır, eğer siz FB'nin CPU PRIORITY'sini arttırırsanız performansınız otomatik olarak artar. Bunun yanı sıra DBCachePages adı altında bir ayarı daha vardır, Normalde SuperServer için 2048 olan DBCHACHEPAGES sayısını, Server'ınızın Belleğine göre arttırabilir ve işlemleri daha da hızlandırabilirsiniz (Yani CACHE'de bitirebilirsiniz.)
Daha da var, Disk Page size ile DB Page Size'ını eşlenik yaparsınız performansınızı arttırırsınız, Index'lerinizi Çok Tekrar edenden, Az tekrar edenlere doğru kurarsınız performansınızı arttırırrsınız, makinayı LINUX'a çevirirsiniz PErformansınızı arttırırsınız.
M$-SQL Server, Default olarak MAX Performansla geliyor. FB ise neredeyse MIN Performansla geliyor. Siz onun ayarlarıyla oynayarak hızlandırıyorsunuz. (Gerçi MIN ayarlar dediğim hali ile bile gayet iyi çalışıyor) sistemi zorlamıyor, makinanız apışmıyor Query geldiğinde
Neyse Daha da yazılır ama ,
Şimdilik Kolay Gelsin
Hakan Can, FB'de Cache'leme var ama bunu kullanıcı kendisi istertse açabiliyor, normalde açmıyor (Sen de bunu yazmışsın ama pek açık bir ifade olmamış

Kimene, eğer firebird.conf isimli dosyaya girip bakarsanız orada bir çok performans arttırıcı konfigurasyon ayarları olduğunu görürsünüz.
Örneğin, Default olarak FB'nin CPU priority'si NORMAL'dir. M$-SQL'de ise HIGH olarak çalışır, eğer siz FB'nin CPU PRIORITY'sini arttırırsanız performansınız otomatik olarak artar. Bunun yanı sıra DBCachePages adı altında bir ayarı daha vardır, Normalde SuperServer için 2048 olan DBCHACHEPAGES sayısını, Server'ınızın Belleğine göre arttırabilir ve işlemleri daha da hızlandırabilirsiniz (Yani CACHE'de bitirebilirsiniz.)
Daha da var, Disk Page size ile DB Page Size'ını eşlenik yaparsınız performansınızı arttırırsınız, Index'lerinizi Çok Tekrar edenden, Az tekrar edenlere doğru kurarsınız performansınızı arttırırrsınız, makinayı LINUX'a çevirirsiniz PErformansınızı arttırırsınız.
M$-SQL Server, Default olarak MAX Performansla geliyor. FB ise neredeyse MIN Performansla geliyor. Siz onun ayarlarıyla oynayarak hızlandırıyorsunuz. (Gerçi MIN ayarlar dediğim hali ile bile gayet iyi çalışıyor) sistemi zorlamıyor, makinanız apışmıyor Query geldiğinde

Neyse Daha da yazılır ama ,
Şimdilik Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Haaa bir de şunu ekleyeyim,
Testleri CACHE'siz yapmak istiyorsan M$-SQL'in DBCC komutlarından bir tanesi CACHE'lediği DB'yi CACHE'den kaldırıyor. Yani CACHE'lenmemiş hale dönüştürüyor ve sorgularınızı ona göre çalıştırıyor.
Bir de öyle deneyin bakalım Vehamet ne boyutta
Kolay Gelsin
Testleri CACHE'siz yapmak istiyorsan M$-SQL'in DBCC komutlarından bir tanesi CACHE'lediği DB'yi CACHE'den kaldırıyor. Yani CACHE'lenmemiş hale dönüştürüyor ve sorgularınızı ona göre çalıştırıyor.
Bir de öyle deneyin bakalım Vehamet ne boyutta



Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
MS-SQL Server'da CACHE özelliği derken bahsettiğimiz çok farklı idi. Herhangi bir tablo ile ilgili herhangi bir connection bir işlem yaptığında MS-SQL Server ilk işlemde o tabloyu hafızaya alıyor (tabi müsaitse) ve bundan sonra işlemleri hafızada yapıyor. Zaten o yüzden yeterli hafıza olduğunda yapılan testlerde birincisinden sonra test sonuçları MS-SQL lehine çok bariz değişiyor. Biz genel manada yaklaşık %40 civarında performans artışı sağlamıştık.
FireBird'ün yapısı bu noktada MS-SQL'den ayrılıyor. CACHE'in arttırılması sayesinde MS-SQL Server gibi tabloyu ilk okunmada hafızaya alıp sonra bütün işlemleri mümkün mertebe hafızada yapmıyor. Bildiğim eğer bir yapılmış işlem varsa aynı işlem tekrarlandığında onu tekrar yapmadan direk sonucunu hafızadan alıyor.
Eğer yapıyor diyorsanız o zaman yeni bir özellik ilave edilmiş olmalı. Onu da ben şu ana kadar duymadım.
İyi çalışmalar.
FireBird'ün yapısı bu noktada MS-SQL'den ayrılıyor. CACHE'in arttırılması sayesinde MS-SQL Server gibi tabloyu ilk okunmada hafızaya alıp sonra bütün işlemleri mümkün mertebe hafızada yapmıyor. Bildiğim eğer bir yapılmış işlem varsa aynı işlem tekrarlandığında onu tekrar yapmadan direk sonucunu hafızadan alıyor.
Eğer yapıyor diyorsanız o zaman yeni bir özellik ilave edilmiş olmalı. Onu da ben şu ana kadar duymadım.
İyi çalışmalar.