• 16-08-2008, 23:51:40
    #1
    merhaba arkadaşlar gun geçtikçe artan bir arama trafiğim var ve bunu mysql i min yoracak şekilde optimize etmek istiyorum.

    Şu anda hali hazırda aşağıdaki gibi kullanıyorum. Acaba en uygunu bu şekil mi öğrenmek istiyorum.

    Alıntı
    $list = mysql_query("select * from table where `yazilar` REGEXP '$gelenkelime' or `baslikkelime` REGEXP '$gelenkelime' ");
    Ayrıca mesela aratılan kelime online film izle ise sanırım bu sorguda sadece online film izle sonuçları çıkıyor. Ben "online" , "film" , "izle"
    kelimelerinin her biri için sonuçları listelemesini istiyorum. Bunu da nasıl yapabilirim sanırım LIKE % gibi bişe olacak ama bilmiyorum.

    Tabi bunların en başında da sistmei yormayacak birşeyler yapmaya çalışıyorum.

    Yardımlarınız için teşekkürler.

    iyi çalışmalar.
  • 16-08-2008, 23:56:52
    #2
    kelime : online film izle diyelim explode ile boşlukları parçayıp sorguya eklesen yeterli. %kelime% şeklinde.
    sistemi yormayacak birşeyler kullanmak istiyorsan like yerine fulltextsearch kullan.
    MySQL :: MySQL 5.0 Reference Manual :: 11.8 Full-Text Search Functions
  • 16-08-2008, 23:58:17
    #3
    OnurSQL adlı üyeden alıntı: mesajı görüntüle
    kelime : online film izle diyelim explode ile boşlukları parçayıp sorguya eklesen yeterli. %kelime% şeklinde.
    sistemi yormayacak birşeyler kullanmak istiyorsan like yerine fulltextsearch kullan.
    MySQL :: MySQL 5.0 Reference Manual :: 11.8 Full-Text Search Functions
    Saolasın Onur biraz karıştırayım inş yapabilirim.
    Kolay gelsin
  • 16-08-2008, 23:59:25
    #4
    sen yaparsın kralsın
    normal sorgudan bir farkı yok, sadece alter table ile alanlara fulltext özelliği ekliyorsun o kadar.
  • 17-08-2008, 00:01:31
    #5
    OnurSQL adlı üyeden alıntı: mesajı görüntüle
    sen yaparsın kralsın
    normal sorgudan bir farkı yok, sadece alter table ile alanlara fulltext özelliği ekliyorsun o kadar.
    benden yazılımcı olmaz Hatta benden hiçbişe olmaz Aslında bi örnek versen çok manyak olcakta işte senide yormak istemiyorum
  • 17-08-2008, 00:09:45
    #6
    select alan1, alan2 from tablo where match(alan1,alan2) against('kelime')
    öncesinde arama yapılacak alanlara şu sorguyu ekle phpmyadmin'den

    alter table tablo add fulltext(alan1,alan2)
  • 17-08-2008, 00:13:36
    #7
    OnurSQL adlı üyeden alıntı: mesajı görüntüle
    select alan1, alan2 from tablo where match(alan1,alan2) against('kelime')
    öncesinde arama yapılacak alanlara şu sorguyu ekle phpmyadmin'den

    alter table tablo add fulltext(alan1,alan2)

    onur bunu yapınca sistem eski haliyle çalışacak mı bilgin var mı?
  • 17-08-2008, 00:18:06
    #8
    çalışır yahu, işletim sistemi değiştirmiyorsun sonuçta like kullanabilirsin yine.
  • 17-08-2008, 00:29:01
    #9
    OnurSQL adlı üyeden alıntı: mesajı görüntüle
    çalışır yahu, işletim sistemi değiştirmiyorsun sonuçta like kullanabilirsin yine.
    tablo yapısını değiştik sanırım ondan sordum


    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/public_html/arama.php on line 121

    120>>
    $list = mysql_query(" select alan1, alan2 from tablo where match(alan1,alan2) against('$kelime') ");

    121>>
    while ( $yaz=mysql_fetch_array($list)) {


    olmazsa olmasın ya eski haliyle devam artık napalım