Page 1 of 2 12 LastLast
Results 1 to 25 of 26

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573

    MySQL - áàâíà çàÿâêà

    Ïðàâèõ ëåê úïãðåéä íà åäèí ìîé ñàéò è äíåñ ñå âèäÿõ â ÷óäî.
    Ïðîìåíèòå ãè ïðàâÿ íà ëîêàëîñò è âñè÷êî èçãëåæäàøå ÎÊ (òåñòâàì çà ñêîðîñò ñ àïà÷å áåí÷).
    Êà÷âàì íà ñúðâúðà è ïðîöåñîðà ïîëóäÿ!
    Ñëåä 2-÷àñîâî òúðñåíå íà âúïðîñíîòî áàâåíå, íàêðàÿ ñè ñëîæèõ èñòèíñêàòà áàçà ïðè ìåí è íàìåðèõ ïðîáëåìà, à èìåííî:

    Code:
    SELECT `id` FROM `table` 
    WHERE MATCH(`title`, `body`) 
    AGAINST ('dumanekva' IN BOOLEAN MODE) = 1
    Íà 50ê ðåäà òàáëèöà, òâà íåùî ìèíàâà çà îêîëî 2 ñåêóíäè íà ëàïòîïà, êîåòî å óæàñíî áàâíî. À ðåøåíèåòî, êîåòî ìèíàâà çà 0.005ñåê.:

    Code:
    SELECT `id` FROM `table` 
    WHERE MATCH(`title`, `body`) 
    AGAINST ('dumanekva' IN BOOLEAN MODE) >= 1
    Àç ëè íåùî íå ñúì â ÷àñ è êàê ùå ñòàíå õâàòêàòà àêî ïóñíà íàïðèìåð 5 äóìè è èñêàì äà ìè âúðíå ðåäîâåòå, â êîèòî ìà÷âà 3 (à íå >= 3...)
    Ìîæå è â ìåí äà å ãðåøêàòà, íî ÷åñòíî íå õâàùàì ëîãèêàòà.

    ps - è âìåñòî äà ëàçÿ ïî ïîäà íà ðä-òî ìè... ïèøà sql-è.. òúæíî..
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  2. #2
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Íàëè çíàåø, ÷å Fulltext search â boolean mode ìîæå äà ñå èçâúðøâà è âúðõó êîëîíè, êîèòî ðåàëíî íÿìàò ãåíåðèðàí fulltext index?

    Ïî òîçè âúïðîñ â äîêóìåíòàöèÿòà íà MySQL å êàçàíî òàêà:
    "They can work even without a FULLTEXT index, although a search executed in this fashion would be quite slow. "

    Íàé-âåðîÿòíî òîâà å ïðè÷èíàòà çà òîëêîâà áàâíàòà çàÿâêà. Ãåíåðèðàé ñè èíäåêñè íà êîëîíèòå, à àêî è â ìîìåíòà èìàø - ãåíåðèðàé ãè íàíîâî, äàé repair è optimize íà ïðîáëåìíèòå òàáëèöè.

    È ×ÐÄ! Æèâ è çäðàâ è ïî-ìàëêî áúãîâå äà ñðåùàø!
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  3. #3
    Registered User SAGE's Avatar
    Join Date: Sep:2005
    Location: Sofia
    Posts: 171
    Quote Originally Posted by BornToDrink View Post
    Ïðàâèõ ëåê úïãðåéä íà åäèí ìîé ñàéò è äíåñ ñå âèäÿõ â ÷óäî.
    .........................
    Ìîæå è â ìåí äà å ãðåøêàòà, íî ÷åñòíî íå õâàùàì ëîãèêàòà.

    ps - è âìåñòî äà ëàçÿ ïî ïîäà íà ðä-òî ìè... ïèøà sql-è.. òúæíî..
    Ëîãèêàòà ñè å ìíîãî òî÷íà äàæå
     ïúðâèÿ ñëó÷àé ïðîâåðÿâà âñè÷êî, çà äà ìîæå äà îïðåäåëè, ÷å ñúâïàäåíèåòî å ñàìî 1 (=1), à âúâ âòîðèÿ ïðè íàìèðàíå íà ïîíå åäíî ñúâïàäåíèå ñïèðà äà ïðîâåðÿâà çà äðóãè.

    ×ÐÄ (íà ïàòåðèöà)

  4. #4
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Íåùî íå ñúì ñúãëàñåí.
    Îò 50ê ðåäà è â äâàòà ñëó÷àÿ ïðîâåðÿâà âñè÷êèòå è äîðè äà ñïðå äà òúðñè â òåêóùèÿ ðåä, â êîéòî å ìà÷íàòî 1 ïúò âå÷å, òîâà íàäàëè îêàçâà òàêîâà âëèÿíèå, ïîíåæå ãîâîðÿ çà äóìà, êîÿòî ÿ èìà â äà êàæåì 5 çàïèñà, à ïðè îñòàíàëèòå 49995 ðåäà è â äâàòà ñëó÷àÿ áè ñëåäâàëî äà ðîâè åäíàêâî ìíîãî.
    Ìîæå è äà ãðåøà äå, íî ðàçëèêà îò 4000 ïúòè â êîðîñòòà (â ïúðâèÿ ïîñò ñúì îáúðêàë, åäíàòà ìèíàâà çà 2 ñåêóíäè, à äðóãàòà çà 0.0005 )

    Èíà÷å òàáëèöàòà ñè èìà èíäåêñè.

    ïï - áëàãîäàðÿ çà ïîæåëàíèÿòà, îòïðàçíóâàõìå ãî äîâîëíî íà òèì áèëäèíãà.
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  5. #5
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    À ÿ ïðîáâàé ñúâñåì äà ðàçêàðàø òîâà óñëîâèå íàêðàÿ "=1" è âèæ êàêâî è çà êîëêî âðåìå ùå òè âúðíå.
    Ìàé ìàëêî áúðêàø êàêâî âðúùà MATCH...AGAINST. Íå âðúùà êîëêî ïúòè ñå ñðåùà äóìàòà â ïîëåòî, à âðúùà relevance, êîåòî â BOOLEAN MODE, çà åäíà äóìà â òúðñåíåòî å âèíàãè èëè 0 èëè 1. Àêî èìàø 3 äóìè â òúðñåíåòî, relevance ùå òè å 0, 1, 2 èëè 3 â çàâèñèìîñò â êîíêðåòíèÿ òåêñò äàëè ñå ñðåùà ñàìî åäíà îò äóìèòå, äâå îò òÿõ èëè è òðèòå.

    Ìîæå äà ïðîáâàø è ñëåäíîòî çà äà âèäèø òî÷íî êàêâî ñå ñëó÷âà:
    Code:
    SELECT `id`, MATCH(`title`, `body`) 
    AGAINST ('dumanekva' IN BOOLEAN MODE) AS `relevance`
    FROM `table` 
    WHERE MATCH(`title`, `body`) 
    AGAINST ('dumanekva' IN BOOLEAN MODE)
    ORDER BY `relevance` DESC
    Code:
    SELECT `id`, MATCH(`title`, `body`) 
    AGAINST ('dumanekva') AS `relevance`
    FROM `table` 
    WHERE MATCH(`title`, `body`) 
    AGAINST ('dumanekva' IN BOOLEAN MODE)
    ORDER BY `relevance` DESC
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  6. #6
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Ïúðâèÿ âàðèàíò ìèíàâà çà åäíà èäåÿ ïîâå÷å âðåìå.
    Íî ìåí òàÿ êîëîíà íå ìè òðÿáâà âñúùíîñò, è çà òîâà â ñåëåêòà èìàì ñàìî ID-òî è äåôàêòî íÿìà äâà âàðèàíòà.
    À èíà÷å ðåëåâàíñà â áóëåàí ìîä å òî÷íî, êîåòî ìè òðÿáâàøå, ïî-ãîðå ìîæå è äà íå ñúì ñå èçðàçèë ïðàâèëíî, çíàì êàêâî âðúùà.

    Åòî êàê âúùíîñò ãî ïóñêàì:
    Code:
    SELECT `id`
    FROM `table` 
    WHERE MATCH(`title`, `body`) 
    AGAINST ('dumanekva drugaduma oshteedna' IN BOOLEAN MODE) >= 2
    Query took 0.05 sec (ïðè ïîâòîðíî èçâèêâàíå ñòàâà äîñòà ïî-áúðçî, ÿâíî ãè êåøèðà íÿêàê)
    à àêî äàì " = 2", ìèíàâà çà ~2 ñåêóíäè - e òâà íå ìîãà äà ñè îáÿñíÿ.
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  7. #7
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Code:
    FLUSH TABLE `table`;
    SELECT `id`
    FROM `table` 
    WHERE MATCH(`title`, `body`) 
    AGAINST ('dumanekva drugaduma oshteedna' IN BOOLEAN MODE) >= 2
    AND
    WHERE MATCH(`title`, `body`) 
    AGAINST ('dumanekva drugaduma oshteedna' IN BOOLEAN MODE) < 3
    ß êàæè òîâà êàêâè âðåìåíà äàâà ñïðÿìî òîâà:

    Code:
    FLUSH TABLE `table`;
    SELECT `id`
    FROM `table` 
    WHERE MATCH(`title`, `body`) 
    AGAINST ('dumanekva drugaduma oshteedna' IN BOOLEAN MODE) = 2;
    Íàêðàÿ ïðîáâàé è òîâà:
    Code:
    FLUSH TABLE `table`;
    SELECT `id`
    FROM `table` 
    WHERE MATCH(`title`, `body`) 
    AGAINST ('dumanekva drugaduma oshteedna' IN BOOLEAN MODE) = 2.0;
    Òúðñè ñ åäíè è ñúùè äóìè.

    Èíòåðåñåí ñëó÷àé, íàèñòèíà.

    ---------- Post added at 17:34 ---------- Previous post was at 17:28 ----------

    Ïðè ìåí ïúðâîòî ïðåäëîæåíèå äàâà ñ îêîëî 50% ïî-áàâíè ðåçóëòàòè, îòêîëêîòî âòîðîòî. Ìåæäó âòîðîòî è òðåòîòî íÿìà ñúùåñòâåíà ðàçëèêà.
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  8. #8
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Ìàé íå ìå ðàçáðà. Ãîðíèòå ïðèìåðè ñ äîïúëíèòåëíàòà êîëîíà çà relevance òè ãè äàäîõ çà äà ñè èçÿñíèø êàê ðàáîòè MATCH...AGAINST, à íå çà äà ãè ïîëçâàø.
    Ïðè òâîÿòà çàÿâêà áè òðÿáâàëî äà èìàø â ðåçóëòàòèòå relevance = 1 âúâ ÂÑÈ×ÊÈ ðåäîâå. Íÿìà êàê relevance äà òè å ïîâå÷å èëè ïî-ìàëêî îò 1, çàùîòî ìà÷âàø ñàìî åäíà äóìà, à relevance=0 èçîáùî íå ãè âðúùà â ðåçóëòàòà.
    Ïðîáâà ëè äà ðàçêàðàø óñëîâèåòî "=1"? Òî ïðîñòî íå å íóæíî. Íå çíàì òî÷íî êàêâî ñå ñëó÷âà â ÿäðîòî íà MySQL è êàêâî ãî îáúðêâà è áàâè òîëêîâà ìíîãî ñëåä êàòî ìó ñëîæèø òîâà óñëîâèå, íî àêî ðàáîòè äîñòàòú÷íî áúðçî áåç íåãî - ïðîñòî ãî ðàçêàðàé.

    Äà, àêî òè å íàñòðîåíà ïðàâèëíî áàçàòà ñúñ ñèãóðíîñò êåøèðà ðåçóòàòèòå è âòîðîòî èçïúëíåíèå íà çàÿâêàòà å ìíîãîêðàòíî ïî-áúðçî.
    Çà äà ñè ñèãóðåí, ÷å âèæäàø ðåàëíîòî âðåìå çà ãåíåðèðàíå íà ðåçóëòàòà, òî÷íî ïðåäè íåãî âêàðàé òîâà:
    Code:
    FLUSH TABLE `tablename`;
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  9. #9
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Ðàçáðàõ òå, âèæ ïðèìåðà, êîéòî ñúì îïèñàë â ïðåäíèÿ ïîñò.
    Êîãàòî èìàì íàïðèìåð 3 äóìè è èñêàì ñàìî 2 äà ñå ñðåùàò â title/body, òðÿáâà äà ãî ïóñíà ñ "= 2", êîåòî âúðâè óæàñíî áàâíî, à ">= 2" íå ìå óñòðîéâà. Âñúùíîñò ìå óñòðîéâà ïåðôåêòíî â ñåãàøíèÿ ñëó÷àé, ïîíåæå íà 5 äóìè äà êàæåì çàäàâàì ïîíå 3, íî àêî ìè ñå íàëîæè äà ñà òî÷íî 3, èäåÿ íÿìàì êàê ùå ñòàíå áúðçî è çàòîâà ïóñíàõ òåìàòà, ÷å ìè ñòàíà èíòåðåñíî.
    È íÿìà êàê äà ïðîïóñíà ñðàâíåíèåòî, ïîíåæå ðåëåâàíñà ìè å êëþ÷îâ (äî ñåãà áåøå ñ ïëþñ÷åòà çà âñè÷êè äóìè çà äà âúðíå ðåä ñàìî àêî âñè÷êè ñà â òåêñòà, íî ìó äàâàì ìàëêî ëàáàâî ).
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  10. #10
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    1 - 0.0012
    2 - 2.0723
    3 - 2.0639

    Ïðè âàðèàíò 2 è 3 èíòåðåñíîòî å, ÷å è áåç flush ìèíàâà áàâíî âòîðèÿ ïúò.
    Èíà÷å íå áÿõ ñå ñåòèë çà ïúðâèÿ âàðèàíò... ïðîñòî áèëî àìà..

    ps - â ïúðâèÿ âàðèàíò èìà åäèí èçëèøåí WHERE ñëåä AND-a.

    Edit:
    Å êàê ïúðâèÿ òè ìèíàâà ïî-áúðçî? Êîëêî å ãîëÿìà òàáëèöàòà, íà êîÿòî ïðîáâàø?
    Äà íå ãî ïðîáâàø ïðåç phpmyadmin, ùîòî òàì ìàõà flush ðåäà ñëåä ïúðâîòî ïóñêàíå.
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  11. #11
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138

    Cool

    Íå, íå å îò phpmyadmin-a, çàðàäè äðóãî ñúì ñå îáúðêàë, íàèñòèíà ïúðâèÿ âàðèàíò ðàáîòè ïî-áúðçî.

    Íàïðàâèõ ìàëêî òåñòîâå âúðõó åäíà íå ìíîãî ãîëÿìà òàáëèöà, êîÿòî èìàì íà localhost.

    Çàÿâêà:
    Code:
    FLUSH table `articles`;
    SELECT `id`
    FROM `articles` 
    WHERE MATCH(`title`, `description`) 
    AGAINST ('ãðàä ñîôèÿ íàìèðà' IN BOOLEAN MODE) = 2;
    Êàòî ïðîìåíÿì ñàìî óñëîâèåòî îòáåëÿçàíî â ÷åðâåíî.

    Åòî ðåçóëòàòèòå, àêî ÍßÌÀÌÅ fulltext èíäåêñ âúðõó äâåòå êîëîíè, â êîèòî òúðñèì:
    áåç - 0.0118
    >=2 - 0.0198
    =2 - 0.0232
    =3 - 0.0734
    >=3 - 0.0734

    Ñëåä òîâà äîáàâèõ èíäåêñè è ïóñíàõ ñúùèòå çàÿâêè è åòî êàêâî èçëåçå:
    áåç - 0.0015
    >= - 0.0019
    =2 - 0.0225
    =3 - 0.0738
    >=3 - 0.0040

    Òîâà ùå ðå÷å, ÷å êîãàòî èìàìå óñëîâèå "=" MySQL íå èçïîëçâà èíäåêñà! Ïðè îñòàíàëèòå óñëîâèÿ èìàìå 10 ïúòè ïî-áúðçî èçïúëíåíèå íà çàÿâêèòå, à ñàìî ïðè óñëîâèÿòà ñ "=" ðåçóëòàòèòå îñòàâàò ñúùèòå.

    Äàëè å áúã òîâà èëè èìà íÿêàêâî äðóãî îáÿñíåíèå?

    ---------- Post added at 18:12 ---------- Previous post was at 18:06 ----------

    Quote Originally Posted by BornToDrink View Post
    Èíà÷å íå áÿõ ñå ñåòèë çà ïúðâèÿ âàðèàíò... ïðîñòî áèëî àìà..
    Å, àç ñúì ñòðàøåí ïî workaround-èòå, àìà çàùî òðÿáâà äà ïðèáÿãâàìå äî ïîäîáåí ïîäõîä òî÷íî â òîÿ ñëó÷àé?

    EDIT:>> Çà ïðîòîêîëà - òåñòîâåòå ñà íàïðàâåíè íà mysql 5.1.30
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  12. #12
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Õì, ïðè ìåí íå çàáåëÿçàõ ðàçëèêà ñëåä êàòî alter-íàõ òàáëèöàòà ñ ôóëòåêñò.
    Ñàìèòå äàííè ãè äúìïíàõ îò õîñòèíãà (ñàìî òàçè òàáëèöà) è òàêà ãè ïðåìåñòèõ, îñâåí èíäåêñà äà âúðâè â êîìïëåêò ñ äúìïà.. çíàì ëè.

    Êàêòî è äà å, ñïîðåä ìåí ïðîáëåìà èäâà, êîãàòî èìàìå ìíîãî çàïèñè.
    Êîãàòî ïèñàõ ñêðèïòà è òåñòâàõ íà ëîêàëõîñò, ïîëçâàõ òàáëèöà ñ 20-30 çàïèñà è àïà÷å áåí÷ íå äàäå ñåðèîçíè îòêëîíåíèÿ è çàòîâà êúìèòíàõ.
    È èçâåäíúæ load-à íà ëèíóêñà ñêî÷è äî 12, êîåòî å àäñêè ìíîãî. A CPU usage-a íà MySQL-à ñòàíà 360%. ×óäèõ ñå êâî ñòàâà, íàêðàÿ ñëîæèõ èñòèíñêèòå äàííè ïðè ìåí è âîàëà - ïîä 2 ñåêóíäè íå ïàäà êâîòî è äà ïðàâÿ ñ "="...
    E, ñëîæèõ ñè >= è ñåãà å ïóøêà (îñîáåíî ñïðÿìî íàé-ïúðâèÿ âàðèàíò ñ like... )
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  13. #13
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Quote Originally Posted by BornToDrink View Post
    Õì, ïðè ìåí íå çàáåëÿçàõ ðàçëèêà ñëåä êàòî alter-íàõ òàáëèöàòà ñ ôóëòåêñò.
    Ñàìèòå äàííè ãè äúìïíàõ îò õîñòèíãà (ñàìî òàçè òàáëèöà) è òàêà ãè ïðåìåñòèõ, îñâåí èíäåêñà äà âúðâè â êîìïëåêò ñ äúìïà.. çíàì ëè.
    Îùå â CREATE TABLE èìàø äåôèíèðàíå íà ïîëåòà, òèïîâå, êëþ÷îâå è èíäåêñè. Êàòî ñè èìïîðòíàë, áàçàòà ñàìà ñè å ãåíåðèðàëà âúïðîñíèÿ èíäåêñ.
    Quote Originally Posted by BornToDrink View Post
    Íå, èìàõ ïðåäâèä, ÷å áàâåíåòî êàòî ñúîòíîøåíèå ðàñòå â ïîëçà íà ïî-áàâíèÿ âàðèàíò.
    Ïðè òåá å 10 ïúòè, ïðè ìåí å íàä 1000 è ïðè ïî-ìàëúê ñàéò ìîæå è äà íå ñå çàáåëåæè.
    Äàì, îáèêíîâåíî òàêà ñòàâà. Çàâèñèìîñòòà íå å ëèíåéíà è óâåëè÷àâàíåòî íà îáåìà íà áàçàòà 5 ïúòè ìîæå äà òè íàïðàâè çàÿâêèòå 100 ïúòè ïî-áàâíè.
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  14. #14
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Å òî è íàé-áàâíàòà âúçìîæíà çàÿâêà äà íàïèøåø, àêî ÿ òåñòâàø íà òàáëèöà ñ 20 ðåäà äàííè ùå ìèíàâà áúðçî. Òîâà å ÿñíî, íî âúïðîñúò å çàùî ïðè óñëîâèå ñàìî ñ "=" MySQL íå èçïîëçâà èíäåêñà è äàâà íàä 10 ïúòè ïî-áàâíè ðåçóëòàòè, îòêîëêîòî, àêî ãî ëúæåì ñ äâîéíèÿ MATCH...AGAINST ñëàãàéêè óñëîâèÿ "<x+1" è ">=x".
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  15. #15
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Íå, èìàõ ïðåäâèä, ÷å áàâåíåòî êàòî ñúîòíîøåíèå ðàñòå â ïîëçà íà ïî-áàâíèÿ âàðèàíò.
    Ïðè òåá å 10 ïúòè, ïðè ìåí å íàä 1000 è ïðè ïî-ìàëúê ñàéò ìîæå è äà íå ñå çàáåëåæè.
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  16. #16
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Ïèñàõ áúã â bugs.mysql.com, ïúê äà âèäèì êàêâî ùå êàæàò òå.
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  17. #17
    Registered User
    Join Date: Jul:2005
    Location: Sofiq
    Posts: 2,798
    À ïðîáâàë ëè ñè ñ HAVING çàÿâêà çà êîëêî âðåìå ùå ìèíå?

    Code:
    SELECT `id`, MATCH(`title`, `description`) 
    AGAINST ('ãðàä ñîôèÿ íàìèðà' IN BOOLEAN MODE) as `match`
    FROM `articles` 
    WHERE MATCH(`title`, `description`) 
    AGAINST ('ãðàä ñîôèÿ íàìèðà' IN BOOLEAN MODE)
    HAVING `match` = 2
    À íà EXPLAIN êàâî òè äàâà ïðè áàâíèòå çàÿâêè? Ðàçìåðà íà èíäåêñèòå êàêúâ å? Êîëêî ðàì ñè íàïèñàë çà myisam_sort_buffer_size è key_buffer_size?

  18. #18
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Quote Originally Posted by BornToDrink View Post
    Ïèñàõ áúã â bugs.mysql.com, ïúê äà âèäèì êàêâî ùå êàæàò òå.
    Ïðèçíàõà ëè ãî çà áúã? Äàé ëèíê÷å äà ãî ñëåäÿ.
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  19. #19
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Ìàëêî úï ñ íîâ ïðîáëåì.
    Èíà÷å ðàçâèòèå ïî áúãà íÿìà, ñåäè ñè îòâîðåí.

    Òà åòî è ïðîáëåìà.
    Èñêàì äà íàïðàâÿ ôóëòåêñò ñúð÷ è äà ñîðòèðàì ïî score-à, íî îò 2 òàáëèöè åäíîâðåìåííî, åòî ïðèìåð:

    Code:
    SELECT objects.id, objects.title, objects.`body`, regions.name,
    MATCH (objects.title,objects.`body`,regions.name) AGAINST ('êúùà íîâà ãîäèíà ïëåâåí' IN BOOLEAN MODE) AS score
    FROM objects
    LEFT JOIN regions
    ON objects.region = regions.id
    HAVING score >= 3
    ORDER BY score DESC
    Çà ìîÿ èçíåíàäà ïðèìåðà ñðàáîòè, íî çà ìîå ñúæàëåíèå - ìèíà çà >5 ñåêóíäè.
    Åäèíñòâåíîòî ðåøåíèå, çà êîåòî ñå ñåùàì, å â òàáëèöàòà objects äà ñå ïàçè íå region_ID, ìè äèðåêòíî èìåòî íà ðåãèîíà (áåç òâà îáëàñòíèòå ãðàäîâå â ÁÃ ñà ñè êîíñòàíòà è íå ñå ïðîìåíÿò â òàáëèöàòà). Òàêà ïðåäïîëàãàì ùå ðàáîòè âñå òàêà äîáðå, êàêòî è äîñåãàøíàòà çàÿâêà, êîÿòî ùå èçãëåæäà òàêà (ñ äîïúëíèòåëíî ïîëå â MATCH()):

    Code:
    SELECT objects.id, objects.title, objects.`body`,
    MATCH (objects.title,objects.`body`,objects.region_name) AGAINST ('êúùà íîâà ãîäèíà ïëåâåí' IN BOOLEAN MODE) AS score
    FROM objects
    HAVING score >= 3
    ORDER BY score DESC
    È ïîíåæå ìîåòî ðåøåíèå íå å ìíîãî êîðåêòíî ñïðÿìî ïðèíöèïèòå íà èçãðàæäàíå íà äàäåíà ÄÁ, òî ùå ñúì áëàãîäàðåí àêî äàäåòå ìíåíèå çà îïòèìèçàöèÿ.
    Èíà÷å ãî ïðàâÿ òàêà.. òî ñå å âèäÿëî.
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  20. #20
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Íå ìîæåø äà ïðàâèø Match áåç èíäåêñ è äà î÷àêâàø, ÷å ùå å áúðçî. À èíäåêñ ìåæäó êîëîíè â ðàçëè÷íè òàáëèöè íÿìà êàê äà èìà.

    Íå ìîæå ëè ïðîñòî äî ïîëåòî çà òúðñåíå äà îñòàâèø åäèí äðîïäàóí, îò êîéòî ïîòðåáèòåëèòå äà ñè èçáèðàò çà êîÿ îáëàñò äà ñå îòíàñÿ òúðñåíåòî è ñúîòâåòíî çàÿâêàòà äà òè ñòàíå:
    .....
    ...
    WHERE objects.region = X

    Òàêà äîðè íÿìà íóæäà îò JOIN.


    P.S. Âçåìè äðàñíè åäèí ïîñò â áúã ðåïîðòà äà ãè ïîäñåòèø äà âèäÿò êàêâî ñòàâà - èëè äà ïîòâúðäÿò èëè äà îòõâúðëÿò áúãà, à íå äà ñòîè òàêà îòâîðåí è çàáðàâåí.
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

  21. #21
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Quote Originally Posted by vbTheKing View Post
    Íå ìîæåø äà ïðàâèø Match áåç èíäåêñ è äà î÷àêâàø, ÷å ùå å áúðçî. À èíäåêñ ìåæäó êîëîíè â ðàçëè÷íè òàáëèöè íÿìà êàê äà èìà.
    Êîôòè çíà÷è.
    Quote Originally Posted by vbTheKing View Post
    Íå ìîæå ëè ïðîñòî äî ïîëåòî çà òúðñåíå äà îñòàâèø åäèí äðîïäàóí, îò êîéòî ïîòðåáèòåëèòå äà ñè èçáèðàò çà êîÿ îáëàñò äà ñå îòíàñÿ òúðñåíåòî è ñúîòâåòíî çàÿâêàòà äà òè ñòàíå:
    .....
    Àìè ñëó÷àÿ å äðóã è íå ñòàâà. Çíà÷è ùå ãî ïðàâÿ ñ èìåòî íà îáëàñòòà â òàáëèöàòà.. íÿìà êàê èíà÷å.
    Quote Originally Posted by vbTheKing View Post
    P.S. Âçåìè äðàñíè åäèí ïîñò â áúã ðåïîðòà äà ãè ïîäñåòèø äà âèäÿò êàêâî ñòàâà - èëè äà ïîòâúðäÿò èëè äà îòõâúðëÿò áúãà, à íå äà ñòîè òàêà îòâîðåí è çàáðàâåí.
    [/QUOTE]
    Ùå èì äðàñíà.
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  22. #22
    Registered User
    Join Date: Jul:2005
    Location: Sofiq
    Posts: 2,798
    Aç òè ïðåäëàãàì äà ñå íàñî÷èø êúì íÿêàêâî äðóãî ðåøåíèå ïðèìåðíî http://sphinxsearch.com/. Íÿêîëêî ïúòè ïî-áúðç îò MyISAM full text search. Ïúê è íå ìó ïóêà îò êîëêî òàáëèöè ùå ñè ñúáåðåø èíôîòî, àêî èñêàø è îò 100
    Last edited by _ShadoW_; 12th November 2010 at 11:55.

  23. #23
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Quote Originally Posted by _ShadoW_ View Post
    Aç òè ïðåäëàãàì äà ñå íàñî÷èø êúì íÿêàêâî äðóãî ðåøåíèå ïðèìåðíî http://sphinxsearch.com/. Íÿêîëêî ïúòè ïî-áúðç MyISAM full text search. Ïúê è íå ìó ïóêà îò êîëêî òàáëèöè ùå ñè ñúáåðåø èíôîòî, àêî èñêàø è îò 100
    Èíòåðåñíî ðåøåíèå.
    Áÿõ ñå çàãëåäàë òåçè äíè â NoSQL áàçèòå, íî íÿêàê íå ìè ñå èñêàøå äà ïðåíàïèñâàì ñàéòà (èëè ïî-ñêîðî ìîäåëà) çàðàäè åäèí ñúð÷. Ñúñ Ñôèíêñà âèæäàì, ÷å ìîæå äà ñå ïîëó÷àò íåùàòà áåç ïèïàíå ïî êîäà îñîáåíî. Ùå ãî ðàçãëåäàì, ìåðñè.
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  24. #24
    hmm BornToDrink's Avatar
    Join Date: Aug:2005
    Location: Â. Òúðíîâî
    Posts: 11,573
    Úï íà òåìàòà ñ ðàçâèòèå ïî âúðïîñà.
    Looks like index is not used with =2:
    Áúãà å âåðèôàéíàò, ñåãà äà âèäèì êîãà ùå ãî ôèêñíàò.
    http://bugs.mysql.com/bug.php?id=57354
    Hey, mother, I come bearing a gift. I'll give you a hint. It's in my diaper and it's not a toaster.
    Ïëàíèíà.áã

  25. #25
    Ëîø àäìèí! vbTheKing's Avatar
    Join Date: Sep:2003
    Location: Ñîôèÿ
    Posts: 4,138
    Åååå, åâàëà, íàé-ïîñëå. Ëåëå êîëêî âðåìå èì òðÿáâàøå äà ãî ïîòâúðäÿò òîÿ áúã...
    Ëþáèìî ïèòèå çàïî÷âàùî ñ áóêâàòà 'Ê'? * Êàñà áèðà *
    Àêî ìîæåø äà ëåæèø íà ïîäà áåç äà òè ñå íàëàãà äà ñå äúðæèø - âñå îùå ÍÅ ñè ïèÿí!
    Äàâàéòå ñëåäâàùàòà Êàñà...

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè