Mysql optimal cədvəl yaratmaq

Mysql-də cədəvli daha optimal və sürətli etməyə çalışıram. Bir məsələdə çətinlik çəkirəm.
Fərz edək ki xəbər cədvəli yaradıram. Burda bir xəbər eyni anda bu bölmələrdə görünə bilər “slayd, yaxşılar, foto qalereya, video qalereya, seçilmişlər). İndi bu bölmələrin hərəsi üçün cədvəldə ayrı sütun (column) yaratmalıyam? Daha yaxşı həlli yoxdu bu işin?
Məsələn belə etmək istəmirəm:
1. select * from xeber where slayd=1
2. select * from xeber where yaxsilar=1
3. select * from xeber where foto=1

Bütün bu malumatı bir sütun daxilində (məsələn: tip) saxlamaq istəyirəm. Belə olan halda bazaya sorğu necə gedəcək bilmirəm. Çünki bir xəbər eyni anda müxtəlif yerdə görünə bilər.


Yadda saxlama
Kateqoriya: Sual . , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (6 cavab var)

(04:24, 20/03/2015 ) #54173

bir sütün daxilində hər birini xüsusi simvollarla ayıra bilərsiniz, məsələn

http://pastebin.com/sxkYYJgf

Sorğunu da ki, like ‘%yaxsilar%’ və.s kimi vermək olar

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (18:10, 20/03/2015 ) #54182

    like nəticə etibari ilə bir tərəfdən məsələni həll etsədə sürəti azaldır. mən sütunların sayını elə sürətə görə azaltmaq istəyirəm

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(15:58, 20/03/2015 ) #54178

Düşündükcə cox variantlar tapmaq olar ilk ağlıma gələn bu oldu.
Bazaya sorğu göndərərkən bölmələri rəqəmlə adlandırırıq
məs:
1=slayd;
2=yaxsilar və s.
Insert into xeber set tip=intval($tip)

sorğunu çekərkən ise
select * from xeber where tip > 0 (bütün bölmələr görünsün)
select * from xeber where tip = 1 (yalnız slayd bölmesinde olan xəbərlər görünsün)

Optimize cəhətdən isə cədvəldə yalnız sizə lazım olan məlumatları çəkin
select * from əvəzine select tip,name və s. from
sorğuda limit qoyun . əgər size yalniz 1 melumat lazımdırsa Limit 1
Sürəti ən çox lənqidən ise RAND() , like ‘%yaxsilar%’ kimi əmrlərdir.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (18:09, 20/03/2015 ) #54181

    Mən bu varinatda istəmirəm axı. Bu variantda etsəm bir xəbəri eyni anda müxtəlif tiplərdə sorğu göndərib alamaq omur ki. Məsələn id-si 1 olan xəbər həm salyda həm də yaxşılarda görünməlidi. əgər … tip=1 göstərsəm bu ancaq slayd olar yox əgər …. tip=2 etsəm onda yaxşılara aid olacaq.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (21:30, 20/03/2015 ) #54190

      bele olar

      select * from xeber where tip = 1 and  tip = 2

      əgər bölmə çoxdursa where – ni bir deyişenede ata bilersiz.

      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (18:22, 21/03/2015 ) #54218

    Elə ola bilməz axı. bir xəbərin tipi necə həm 1 həm də 2 edə bilərəm? Mənə tipi 1 və 2 olan xəbərlər yox. Bir xəbərə necə iki tip verib onu sonra sorğu ilə almaqdır

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Software Developer cavab verdi - Wise vasitəsilə bank kartına pul köçürmə (18 saat əvvəl)

Software Developer cavab verdi - Rus dilindən mətni tərcümə etmək (1 gün əvvəl)

Cənab cavab verdi - Almanca söz bazası yığmaq (4 gün əvvəl)

rdrobert cavab verdi - Mikrofon süngərinə yazı (5 gün əvvəl)

rdrobert cavab verdi - Yerli virtual olaraq dost tapmaq platforması (5 gün əvvəl)

rdrobert cavab verdi - Almanca söz bazası yığmaq (5 gün əvvəl)

rdrobert cavab verdi - Playstation 4 almaq, Playsation klub açmaq (5 gün əvvəl)

rdrobert cavab verdi - Proqramistin ixtsasi hansidir? (5 gün əvvəl)

Software Developer cavab verdi - Azercell Kabinetim aplikasiyasında İstəSən tarifi haqqında (6 gün əvvəl)

Software Developer cavab verdi - Proqramistin ixtsasi hansidir? (6 gün əvvəl)

byshako cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (17 gün əvvəl)

rdrobert cavab verdi - Honeygain, passiv gelir (18 gün əvvəl)

rdrobert cavab verdi - Xaricdən telefon getirmek (18 gün əvvəl)

rdrobert cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (18 gün əvvəl)

rdrobert cavab verdi - AliExpress, Telefon, Rüsum (18 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 607 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23234 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024