Index, tablolarda bulunan sütunlarının bazılarının özel şekilde düzenlenmiş halidir. Bu alanların özel düzenlenmesi sayesinde sorgular daha hızlı ve performanslı çalışır ve geriye daha çabuk sonuçlar dönmesini sağlamaktadır. Hangi Sütunlara Index konulmalıdır? Primary key ve Foreign key sütunları. Sorgularda çok sık kullanılan sütunlar. Çok sık sıralamaya tabi tutulan sütunlar. Gruplama yapılan sütunlar (group by). Index gerektirmeyen […]
Category: MySql
MySql Sorgularında Performans Arttırmak
1- Mümkünse count(*) metodunu tüm tablo için değil Id sütunları için kullanın. 2- Mümkünse distinct metodu yerine group_by metodunu kullanın. 3- where, group_by, order_by gibi metodlarda indexlenmiş sütunları kullanın. 4- Bir sütunu birden fazla indexte kullanmayın. 5- Tablonuza gereksiz sütunlar için index oluşturmayın. 6- Bazen MySql yanlış index seçebilir, bu yüzden use index kullanın. 7- Index sayısı fazla olmayan alanlarda union işlemi için or […]
MySql’e Büyük Csv Dosyasını Terminal’den Import Etmek
mysql –local-infile=1 -u USERNAME -p DATABASE LOAD DATA local INFILE ‘/home/username/file.csv’ INTO TABLE table_name FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘”‘ ESCAPED BY ‘\\’ LINES TERMINATED BY ‘\n’ IGNORE 1 LINES (a,b,c);
İl-İlçe Sql Kodu
Zaman zaman hepimizin ihtiyacı oluyor bu verilere. Bulabildiğim en güncel veritabanı dosyası bu. İçinde 7 Bölge, 82 il ve toplam 917 ilçe bilgisi bulunmakta. İndirmek için buraya tıklayın.
Sql Joins
Stored Procedure ‘as’ Değişken Hatası
Geçen gün bir projenin veritabanına kullanıcı eklemek için prosedür yazarken sürekli syntax hatası alıp durdum. Gözümden kaçan şey ‘as’ isimli bir değişken adı veremeyecek olmammış. Örnek kod aşağıdaki gibi; DELIMITER // CREATE PROCEDURE sp_kullanici_ekle( IN `as` VARCHAR(50), IN ka VARCHAR(50), IN si VARCHAR(15), IN ep VARCHAR(50), IN ci BIT(1), IN ipp VARCHAR(40), IN kt DATETIME, […]
Full Text Search Desteklemeyen Tablo
Bugün yaptığımız bir e-ticaret sitesinin arama bölümü için mysql arama query’si ararken Full Text Search için aşağıdaki sorgu kodlarını yazdım: create table tabloAdi ( SiraNo int auto_increment not null, Adi varchar(20), Soyadi varchar(20), Yasi int, Adres text, primary key(SiraNo), unique id(SiraNo), fulltext(Adi, Soyadi, Adres) ); Full Text Search kodlarını denediğimde şu hatayı aldım: The used […]
Partition
Partition oluşturma çeşitleri; Range, List, Hash, Key, LinearHash. Biz örnek olarak Key Partition türünü uygulayacağız. Örnek Kod: CREATE TABLE sehir ( `id` int(11) NOT NULL AUTO_INCREMENT, `sehir` varchar(50) COLLATE utf8_turkish_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=82 PARTITION BY KEY(id) PARTITIONS 6; Oluşturulan partition’ları görmek için şu sql sorgusunu çalıştırıyoruz: EXPLAIN […]
Max_Connection Ayarı
Çok ziyaretçi alan bir siteniz varsa, php kodlarının çalışmayıp, öylece beklemesini önlemek için MySql veritabanınıza aynı anda maksimum kaç bağlantı yapılacağını ayarlamak doğru bir hareket olacak. Peki nasıl? İşte şöyle: /etc/my.cnf dosyasını açıyoruz ve [mysqld] bölümüne gelip, aşağıdaki şekilde bir ekleme yapıyoruz: set-variable=max_connections=250 ve böylece max_connections parametremizi ayarlamış oluyoruz. Ancak; bu parametreyi öyle kafamıza göre […]
Inner Join Kullanımı
SELECT (alacağımız veriler) FROM tablo1 INNER JOIN tablo2 ON (kurallar); Bir örnek verecek olursak; SELECT etiket_id, baslik FROM etiketler_yazi INNER JOIN etiketler ON etiket_id=etiketler.id;