basit bişey yaptım amatörce paylaşım işe yarasın bari geliştiren olursa güzel bişey aslında
haber.php?Id='a vs yani int olmayan degerler girildiginde adres satırına ip banlıyor. aynı ipten tekrar yaparsa veri tabanındaki saat güncelliyor
biraz ileri gidilip belli bir zaman sonra ip banı otomatik kaldırılabilir vs işte
ip.php
|
|
|
|
SQL Sorgularını Optimize Etmenize Yardımcı Olacak Araçlar
Sorgu optimizasyonu yaparken, her değişiklikten sonra performans bilgisini gözlemleme işlemini tekrarlamak gerekir. Bu gözlem, yapılan değişikliğin performansı iyi mi kötü etkilediğini belirlemeye yardımcı olur.
1. Elapsed Time
Bir sorgunun çalışmak için aldığı zaman uzunluğu ‘Elapsed Time’ olarak adlandırılır. Sorgunun tamamlanma süresini birçok şey etkileyebilir. Tamamlanma süresi en iyi değerlendirme ölçüsüdür, çünkü bu değere kullanıcının sorgu çalışırken bekleyeceği zamandır. Tamamlanma süresini görebileceğimiz ilk yer SQL Server Management Studio’ da sorgu penceresidir. Aşağıdaki gibi görülür.
Table Partitioning’in ana amacı görece büyük bir tablo içerisinde yer alan verilerin belirli bir kritere göre ayrı ayrı fiziksel alanlarda saklanarak verilere erişim hızını ve disk kapasitesini optimum kullanmak, ölçeklenebilir ve daha kolay bakımı sağlanabilir kılmaktır.
Böyle bir yapıda kurmak isediğimiz bir tablodaki verilerin belli bir tarihten eski olanlarını bir partitionda, bu tarihten yeni kayıtları da farklı bir partitionda tutmak isteyebiliriz. Sık kullandığımız veriler elbetteki daha yakın tarihteki veriler olacaktır.
Sql Server 2008 ile birlikte gelen güzel bir yenilik: backup sırasında sıkıştırma (backup with compression).
Bu özelliği test etmek için, Sql Server 2008 R2 kurulu makinama AdventureWorks 2008R2 veritabanını yükledim.
Yükleme işleminden hemen sonra, şu sql cümlesi ile veritabanının backup’ını alalım;
|
|
MySQL veritabanı; Access’e göre aynı anda daha fazla kullanıcının bağlanacağı, zor işlemler yapacağı fakat yine de Access’ten çok daha başarımlı bir veritabanıdır. MySQL veritabanları bir sunucu müşterisinin doğrudan veya dolaylı yoldan indirebileceği dosyalar değildir. Müşteri sadece veritabanını açar, içine tablolarını yapar, verileri doldurur, veritabanını kullanır fakat dosyalar sunucunun, müşterinin erişemeyeceği bir kısmında depolanır.
Not : Eğer yayında olan sitenizde SQL veritabanına geçmek istiyorsanız veya SQL ile bir site yazmak istiyorsanız lütfen sunucu sahibi ile görüşüp SQL izni olup olmadığını sorgulayın.
Merhaba,
Az önce tamamlamış olduğum veritabanı sınıfı karşınızda "dbClass"... Bu sınıf size veritabanı üzerinde yaptığınız SELECT, INSERT, UPDATE, DELETE sorgularında SQL cümlelerindeki rutinlerden kurtulma fırsatı veriyor. Eğer kompleks SQL cümlecikleri yazmıyor sadece basit manada SQL'i kullanıyorsanız bu sınıf tam size göre.
Tam olarak yaptığı iş:
"SELECT alan FROM tablo WHERE sart="1"" gibi bir sorgudaki sürekli yazılan alanları yazmak yerine,
|
|
Sql view nedir ?
Öncelikle view hakında biraz bahsetsek view sanal olarak tablolama, Peki nasıl bir tablolama sanal olarak derseniz. Şu şekilde bahsedim. Elimde 2 tane tablom var bunlardan biri sistem olsun diğeri kullanıcı ve bu tablomun içeriğide dolu olsun ve ben bu içeriklerden bir kaç gerekli kolonu başka bir yerde kulanim. Evet bunu sql view olmadan procedureler yardımı ile de yapmak mümkün veya tekrar baştan bir tablo oluşturur istenen kayıtları onun içine alıcak bir algoritma yazılır ama neden bu kadar ugraşalık ki işte view bize sagladığı en büyük özelik bu . Zaman kazandırması Verileri taşıma gereği duymamamız ve Tek bir tablo özeliği göstermesi. Peki nasıl kulanılır öncelikle 2 tane tablo oluştrucam kendime ila 2 tane olucak diye bir kuralda yok sadece hangi tablodan hangi kolonu aldığınızı göstermenizde yeterlidir.
Bilindi gibi aynı anda 2 tabloya veri girmek için kullanılan teknolojiye göre kodlamalar var. Bunu sadece sql server kulanarak ta yapmak mümkündür Peki nasıl Triggerlar yardımı ile yani tetikleyici sql procedureleri ile peki bu tekitkleyici procedurler ne işimize yarar. Zaman ve Performans kazanmamız dışına işlem kolaylıgı sağlar. Vb C# veya PHP dilinde aynı anda iki tabloya aynı veri girmek veya bir tablodan diger tabloya veri aktarmek hep sorun olmuştur. Sql server kulanılıyorsa kaynak azlında kulanımı basit fakat ögrenmesi zor olan bir teknoloji.
Bunun için kulanıdım tablolar iki tane tablo oluşturdum kendime biri ürün
diyeri ürünkontrol bunlar kodları.
Sitenizde bir köşeye mail adresinizi giriniz bölümü koyarak, takipçilerine yeni yaptığınız yenilikleri duyurmak istiyorsunuz. Bunun için AJAX 'lı şık birşey güzel olur değil mi? Hem bu sayede sayfanız yenilenmemiş olur. Hemen çalışmamıza başlıyorum. AJAX gönderme işini JQuery kütüphanesini kullanarak yapacağım. İlk başta mail ekleme formunu hazırlıyoruz...
Adım adım açıklıyorum. İlk baÅŸta AJAX ile gönderildiÄŸinde deÄŸiÅŸmesi için "epostalistediv" id li bir div oluÅŸturuyoruz.Â
|
|
Ben bu sistemi ağaç mantığı ile açıklamak istiyorum bundan 3 sene önce araştırmadan keşfettiğim daha sonra bazı makalelerde karşılaştığım bir yapıdan bahsedeceğim. Bu örnek biraz basit olabilir ama geliştirmek sizin zihinsel gücünüze kalmıştır.
Genelde eticaret sitelerinde kategori ağacının kaç dal olacağı bilinmez bazen 2 dal bazen 5 dal bunu bilemeyiz. Ağaç sistemi ile bu işi çözmek kolay benim DNA adı verdiğim bu sistem kategorileri tek bir tabloda toplayarak belirli bir alanda kategorinin atası dediğim ilk kategorinin ID numarasından başlayarak bir üst ve kendi ID si olmak üzere bir DNA zinciri oluşturuyorum ne diyor bu diyebilirsiniz :) Şimdi konuyu biraz açacağım ve daha iyi anlayacağınızı umuyorum.
Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.