Devrim GÜNDÜZ yazmış: > On Tue, 2010-09-21 at 23:28 +0300, Atif CEYLAN wrote: >> "Eger framework kullanirsaniz, sql optimizasyon vs. olmayacagi icin >> DBA'ler issiz kalacaklar ve kendilerini skintidan ekmege verecekler" >> demek istedi sanirim :) > > Tam tersi. SQL optimizasyonu yeteri kadar olmayacağı için iş bize > düşüyor. > > ve hatta: > > http://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_9.0#Join_Removal
O zaman ben biraz fazla takıntılı davranıp python sqlalchemy kütüphanesi kullanarak SQL yazmadan sorguları python ile oluşturuyorum ama aynı zamanda debug çıktılarından bakıp otomatik oluşan sql sorguları tam da sql sorgularını kendim yazsam olacağı şekle gelene kadar kodu değiştiriyorum. Biraz zaman kaybetmiş oluyorum ama direkt sql yazmaktan kolay geliyor bu bana. Yaptığım projelerde veritabanı bağımsız olsun istiyorum teorik olarak ama pratikte çalışan uygulamanın veritabanının değiştiğini görmedim, geliştirme ortamında kendi makinamda daha hafif olduğu için sqlite kullanıyorum ama üretim ortamında postgresql kullanıyorum, genellikle sqlalchemy kütüphanesinin ürettiği sorgular eğer kod yazılırken debug çıktılarından bakıp otomatik üretilen sql sorguları düzgün halde kod yazılırsa yeterince optimize edilmiş oluyor. Aslında konu dağıldı ama şimdilerde çok kullanılan bir sürü şeşit framework reklam edilirken sql kodu yazmamak hatta programcının sql bilmesine bile gerek olmaması matah birşeymiş gibi anlaşılıyor, ama nasıl olsa orm kütüphanesi otomatik sql oluşturuyor deyip veritabanını gereksiz yere yoran kodlara çok rastladım, projeyi veritabanı bilmeyen programcıya emanet etmemek lazım ya da programcı hangi dili tercih ederse etsin eğer veritabanı uygulamalarıyla uğraşacaksa çok iyi sql bilmek zorunda. Tamam elle sql yazmayınca da oluyor ama üretilen sql düzgün mü diye bakmadan çıkan uygulamalar sonradan baş ağrıtıyor. Aslında her programcı ekibinde bir tane de eli sopalı dba bulunmalı, veritabanı kullanımını kontrol edip programcıların kafasına sopayla vurmalı. (sopa burada mecazi anlamdadır, şiddet yanlısı olduğum anlamı çıkmasın :) _______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
