vallahi dene derim abi en güzeli tecrubeyle ğrenmek ama en kayıt daha hızlı oluyor ben byle biliyorum en azından. Bir işte 1milyon kayıtlı bir tablo yüzünden rezil olmuştum tabi o zaman dahada bi haberdim olaylardan tablo indexsizdi. sorgularına gre doğru indexlenmiş tablolar da hız daha da iyi olabillir konuyla alakalı değil gerçi bu ama ben buna benzer bir yazı okumak isterdim rezil olmadan nce :P2 veritabanı olusturursun daha sonra birinde tek tablo diğerinde 3 tablo olacak şekilde yaparsın. birinci veritabanında içerik diye bir tablo açıp yapısıda id keyword oncelik şeklinde yaparız ncelik indexli olursa daha tatlı olur. for($i=0;$i<30000) >bununla içini doldurursun abitablo ikide de oncelik1 oncelik2 oncelik3 diye 3 tablo oluşturup hepsinin yapısınıd id keyword olarak yapalım for($i=0;$i<10000){mysql_query("insert into oncelik1 values('','" . rand(10000,90000). "'); "); for($i=0;$i<10000) for($i=0;$i<10000) > bununlada burdaki tablolrı doldurur kayıt sayısı eştir mantıkta yaptığı işlerde eştir. benim n yargım 2. yntemde daha hızlı sonuçlar alacağın olur. sebepleri iseilk olarak ekstra bir indexleme yapman gerekmez oncelik icin bu fiziksel boyutu düşürür. yine dediğim gibi tablo içindeki kayıt sayısı az olduğu içinde daha hızlı sonuçlar gelecektir. çok uzun sürmez bence denemek boş vaktinde bi incele derim abi ^^ dilim dndüğünce açıklamaya çalıştım kolay gelsin not:yazıyı komple inceleyemedim klavyemin bagzı tuşları basmıyor dengesizlik varsa affedin.

veritabanın performansını arttırmak için nekadar küçük parçalara blebiliyorsa blcek altın kurallardan biri budur

şimdi tablo diye bir tablo düşünün bunun içinde 1. durumda şyle birşey olsunoncelik1oncelik2oncelik3bunların hepsi alan. Farklı şeyler var içlerinde. İd, cevap, anahtar... Birde;genel var bunun içinde id, cevap, anahtar birde oncelik var. ncelik kısmına 1,2,3 giriyorum. Şimdi merak ettiğim soru şu bir sql sorgusunda;select id from genel where oncelik=1 yapmak mı yoksaselect id from oncelik1 yapmak mı daha mantıklı?yani genel tablosunda oncelik=1 dediğimizde bütün kayıtları okur mu? eğer yleyse perfromans kaybı yaşamaz mı? çünkü oncelik 1,2,3 olduğunu anlamak için işlem yapması gerek her satıra ayrı ayrı...

hocam ne kadar küçük o kadar performans 500 500 500 varken 1500 diğerine gre daha performanssızdır \ /

: zumsuk bunu yazdı: hoca oncelik1 tablosunda sadece ncelik durumunu tutmayacaksın kiyanında birde o kaydın idsini girmen gerekiyor. her kelimeye bir ncelik girdiğini varsayıyorum.10.000 kaydı tekrar 2 sütunlu bir tabloya kaydettiriyorsun. aynı şekilde oncelik1 tablosunda da 10.000 kaydın içinden sorgu yapacaksın :)where oncelik=1 dememek için from oncelik1 diyerek fazladan 2 sütunlu bir tablo açıyorsanoncelik2, oncelik3, oncelik4, oncelik5 gibi bi kaç 10.000 kayıtlık tablo daha olduğunu düşünürsek :) bence bu konuda biraz daha düşünmek gerek :) hocam her durumda 10 tablonun içine aldıgımız 10.000 kayıtın tek tabloda olmasındansa bu blmek iyidir ama başından da dediğim gibi kullanıldığı yere bağlı olarak tercihler değişebilir tabi.10x10.000 birmilyon kayıtlı tek bir tablo ile hangi tabloda arama yapacağını bilen ve ona gre tablosunu seçen onbin kayıtlı bir tabloda arama yapan bir sorgu daha hızlıdır.

yok access kalsın :D..

index sanırım daha mantıklı..

index tabiki daha mantıklı bununla beraber yüksek verilerde stored procedure de mantıklı ancak tabiki access rulz feysbuk yapmıyoruz. edit: tabi sen php kullanacaksan accessden mahrum kalıcaksın zumsuk :d :|

oncelik1 tablosunda 10.000 kayıt varoncelik2 tablosunda 5.000 kayıt varoncelik3 tablosunda 5.000 kayıt var bu A dbsioncelik tablosunda 20.000 kayıt var 10.000 tanesi oncelik1, 10.000 tanesi oncelik2bu da B dbsitabiki benim mantığıma gre A dbsinde işlem yapmak daha fazla performans sunacaktır çünkü; A dbsi açıldı-> oncelik1 tablosuna bağlanıldı--> tüm kayıtlar listelendi son B dbsi açıldı-> oncelik tablosuna bağlanıldı--> 20.000 kayıttan 10.000 kayıt filtrelendi > bulunan 10.000 kayıt listelendi son ancak bir de şu durum var, tablo zelliği arttıkça çekilecek liste daha da kısalacağından rneğin;zellik tablosundan 20.000 kayıt içinden, türü 2 olan, ozelligi 1 olan, durumu 0 olan 450 tane kayıt filtrelemekhem kayıtları bulmada hem de çoklu kullanıcıda daha avantaj sağlayacaktırdiye düşünüyorum ben sizi bilemem :| :|

hocam düz mantık oncelik seviyeleri farklı olan kayıtları bir tabloda tutmaktansa ayırmanın yararlı olacağın işaret eder ama kullanım yerine gre değişir tabi. Eğer nceliğe gre ayrılırsa tabloların içerecek sayısı, kayıt miktarı düşer. E ne kadar az kayıt o kadar performanstır bi yerde. Her tabloda 500.000 kayıt olsa 1.5 milyon kayıt barındıran bir tabloda sorgu yapmak mı yoksa 500bin kayıt barındıran tablolar da sorgu yapmakmı iyidir diyerekten soruyla neden byle olduğunuda açıklıyabiliriz. ayrıca zuqlü bekliyoruz :D

:D gelecek gelcek. nce mysqlun falan çalışma mantığını çzmeme lazımve maalesef googleda arıyorum hala adam gibi Türkçe dküman bulamadım :-/ edit: bu arada demek istediğm kesinlikle o mesela oncelik1,2,3 olsun500-500-500 blmek daha sorna sorguda from oncelik1 demek mi mantıklı?yoksa 1500 ünüde aynı yerde tutup from genl where oncelik=1 demk mi.. Daha dorğusu şyle, aralarında performans kaybı olur mu? benim amacım 10 bin kayıt olacak. Tarcan için düşünüyorum. ncelik1,2,3,4,5 var hepsini ayırmak mı daha mantıklıydı yoksa bir tutmak mı :-/

Hangi sorgu sonucun bir sonraki sorguya daha az kayıt bırakıyorsa, o nce kullanılmalıdır... Bu sayede her seferinde daha az kayıt seçerek eleme yaparsın... Sanıyorum kendi ataszümü yaptım, kaynak belirterek kullanabilirsiniz. 10.05.2013 tarihli google arama sonucu : Aradığınız - "herşeyin hayırlısı rampanın bayırlısı" - ile ilgili hiçbir arama sonucu mevcut değil. Not : Syleyeni belli olduğu için ataszü değil, zlüsz oluyormuş, dolayısı ile kendi zlüszümü yapmış oldum :)

: :D gelecek gelcek. nce mysqlun falan çalışma mantığını çzmeme lazımve maalesef googleda arıyorum hala adam gibi Türkçe dküman bulamadım :-/ edit: bu arada demek istediğm kesinlikle o mesela oncelik1,2,3 olsun500-500-500 blmek daha sorna sorguda from oncelik1 demek mi mantıklı?yoksa 1500 ünüde aynı yerde tutup from genl where oncelik=1 demk mi.. Daha dorğusu şyle, aralarında performans kaybı olur mu? benim amacım 10 bin kayıt olacak. Tarcan için düşünüyorum. ncelik1,2,3,4,5 var hepsini ayırmak mı daha mantıklıydı yoksa bir tutmak mı :-/ Hacı sen bana 10 15 dakkalık ders versene yahu :))Bende veritabanı oluşturmayı yenı becerebılenlerdenım şimdi merak etıgım ve yapmaya çaliştiğim şu:Ben db oluşturuyorum oluşturduktan sonra gereklı dosyaları uplıyorum ftpye ondan sonra sql yuklemeye çalışıyorum fakat hep yalan yanlış yerlere giriyorum ıkı dakkada bana bırgun bunu ızah edebılırmısın hacı :)) Yakında Güncelenecektır...

: :D gelecek gelcek. nce mysqlun falan çalışma mantığını çzmeme lazımve maalesef googleda arıyorum hala adam gibi Türkçe dküman bulamadım :-/ edit: bu arada demek istediğm kesinlikle o mesela oncelik1,2,3 olsun500-500-500 blmek daha sorna sorguda from oncelik1 demek mi mantıklı?yoksa 1500 ünüde aynı yerde tutup from genl where oncelik=1 demk mi.. Daha dorğusu şyle, aralarında performans kaybı olur mu? benim amacım 10 bin kayıt olacak. Tarcan için düşünüyorum. ncelik1,2,3,4,5 var hepsini ayırmak mı daha mantıklıydı yoksa bir tutmak mı :-/ hoca oncelik1 tablosunda sadece ncelik durumunu tutmayacaksın kiyanında birde o kaydın idsini girmen gerekiyor. her kelimeye bir ncelik girdiğini varsayıyorum.10.000 kaydı tekrar 2 sütunlu bir tabloya kaydettiriyorsun. aynı şekilde oncelik1 tablosunda da 10.000 kaydın içinden sorgu yapacaksın :)where oncelik=1 dememek için from oncelik1 diyerek fazladan 2 sütunlu bir tablo açıyorsanoncelik2, oncelik3, oncelik4, oncelik5 gibi bi kaç 10.000 kayıtlık tablo daha olduğunu düşünürsek :) bence bu konuda biraz daha düşünmek gerek :)

tablo indexliyse evet bakmıyor diye biliyorum ama değilse tek tek bakıyor hepsine onceliği 1mi değilmi diye.

:D where oncelik=1 deyince mysql oncelik 1 haricindekileri iplemiyor işleme katmıyor galba? bu yüzden sql sorgusuna bir problem olmaya bilir mi acep?