MYSQL Ufak İpuçları – vol.4

Dördüncü seri olarak birkaç ip ucu ile devam edelim.
Birinci seri için BURADAN ulaşabilirsiniz.
İkinci seri içi BURADAN ulaşabilirsiniz.
Üçüncü seri için BURADAN ulaşabilirsiniz.

Değişik MYSQL ip uçları ve sorguları yazmak hoşunuza gidiyor ise seriyi takip etmenizi öneririm. Çok fazla değişik sayılmazlar, Google’da arama yaparsanız mutlaka karşınıza çıkacaktır.

MYSQL Veritabanımızda hangi tabloda kaç sütun / kolon olduğunu merak ediyorsak ( bunu niye merak ettiysek 😀 ) aşağıdaki komut işimizi görecektir.

SELECT TABLE_NAME TABLO_ADI, Count(*) SUTUN_SAYISI
FROM information_schema.`COLUMNS`
WHERE table_schema = 'VERI_TABANI_ADI'
GROUP BY TABLE_NAME
ORDER BY SUTUN_SAYISI DESC

Bu sorgunun nerede işe yaracağını düşünüyorsanız geliştirmekte olduğunuz sistemde normalizasyon yapmak istediğinize birkaç analiz yapmanız gerekebilir. Bu sorgu onlardan biri.

MYSQL serisi diyip durduk araya biraz MSSQL de serpiştirelim;

MSSQL de Veritabanımızda kaç adet satır var ? :

SELECT sc.name +'.'+ ta.name TABLO_ADI, SUM(pa.rows) SATIR_SAYISI
FROM sys.tables ta
INNER JOIN sys.partitions pa
ON pa.OBJECT_ID = ta.OBJECT_ID
INNER JOIN sys.schemas sc
ON ta.schema_id = sc.schema_id
WHERE ta.is_ms_shipped = 0 AND pa.index_id IN (1,0)
GROUP BY sc.name,ta.name
ORDER BY SUM(pa.rows) DESC

 

MSSQL de veritabanımızda toplam kaç adet satır var dersek de tabi ki yukarıdaki sorguyu biraz değiştirip tekrar sorgulatıyoruz 🙂

SELECT SUM(pa.rows) TOPLAM_SATIR
FROM sys.tables ta
INNER JOIN sys.partitions pa
ON pa.OBJECT_ID = ta.OBJECT_ID
INNER JOIN sys.schemas sc
ON ta.schema_id = sc.schema_id
WHERE ta.is_ms_shipped = 0 AND pa.index_id IN (1,0)
ORDER BY SUM(pa.rows) DESC

 

Bu seriyi daha fazla uzatmadan 2 buçuk örnekle bırakıyorum 🙂