Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Opublikuj swoje zlecenie za darmo i otrzymaj oferty od wykonawców freelancerów już minutę po opublikowaniu!

Optymalizacja tabeli i zapytania mysql

Translated82 PLN

Załączniki 1

Wgląd do aplikacji jest dostępny tylko zarejestrowanym użytkownikom.

Opinia zleceniodawcy o współpracy z freelancerem

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Wszystko jest w porządku, działa znacznie szybciej niż SQL.

Opinia freelancera o współpracy z Ivan Kolenov

Płatność
Opis zadania
Precyzyjność  wymogów
Zawsze w kontakcie

Odpowiedni i uprzejmy klient. Cieszę się z współpracy.

Profil został usunięty | Sejf Sejf

  1. 204    7  0
    3 dni103 PLN

    Dzień dobry, mam doświadczenie w optymalizacji BD i zapytania, z przyjemnością pomóc. W mojej praktyce zdarzyło się, że tabele zawierają co najmniej 300k nagrań i tworzą tak duże obciążenie, że dostawca groził odrzuceniem współpracy. W rezultacie wszystko działa bez problemów. Twój przypadek przypomina mi ten. Najpierw potrzebuję więcej informacji na temat struktury BD i na prośbę. Czekam na Twoje wiadomości.

  2. Jeszcze 3 ofert jest ukrytych
  • Profil został zablokowany
    13 wrzesnia 2019, 3:39 |
    usunięte przez moderatora
  • Ivan Kolenov
    13 wrzesnia 2019, 3:51 |

    ты запретил чтобы тебе писать. 

  • Andrey Mestny
    13 wrzesnia 2019, 7:01 |
    Вы используете LIKE '%".$teg."%' то есть ищите подстроку в значении поля, соответственно перебираете каждый раз все 100.000 записей, вам нужно отказаться от этой практики. SQL запрос правильный, но вы неправильно ставите задачу своему SQL серверу, подумайте как не ставить знак процента впереди искомой подстроки. 
  • Ivan Kolenov
    13 wrzesnia 2019, 7:07 |

    Можете помочь в оптимизации?

  • Andrey Mestny
    13 wrzesnia 2019, 7:10 |

    Нет, вам нужно отказаться от поиска подстроки в поле, можно искать слово, если использовать полнотекстовый поиск, а поиск подстроки всегда будет очень медленным на больших базах.

  • Andrey Mestny
    13 wrzesnia 2019, 7:12 |

    Даже если уберете процент вначале запроса Like оставив его только в конце то уже поиск будет идти по индексу и будет быстрым.

  • Ivan Kolenov
    13 wrzesnia 2019, 7:13 |

    в поле есть текст "Мото Ауто Форум Деньги Золото"

    Как найти по другому все записи где есть слово Форум между 100 000 записей не используя %Форум%?

  • Andrey Mestny
    13 wrzesnia 2019, 7:16 |

    Если вам нужно полное слово форум, то через полнотекстовый поиск, а если вы хотите искать подстроку например фор** или **орум то ничего вам не поможет, кроме медленного выполнения запроса.

  • Andrey Mestny
    13 wrzesnia 2019, 7:18 |

    Вернее если вы издадите запрос like '%фор%  то запрос будет выполняться медленно, а если like 'фор% то результат будет мгновенным.

  • Andrey Mestny
    13 wrzesnia 2019, 7:18 |

    При наличии индекса по полю поиска.

  • Ivan Kolenov
    13 wrzesnia 2019, 7:31 |

    "Мото Ауто Форум Деньги Золото" 

    не сможет найти поля со словом  Форум% так как слово между другими словами 

  • Andrey Mestny
    13 wrzesnia 2019, 8:28 |

    Тогда вам нужно подумать как построить программу так, чтобы этого не было, полное слово ФОРУМ вы можете искать через полнотекстовый поиск, а подстроку *ОРУМ никак только загружая на 100 % процессор и память.   

  • Ivan Kolenov
    13 wrzesnia 2019, 10:29 |

    полнотекстовый поиск работает быстрее?

  • Andrey Mestny
    13 wrzesnia 2019, 10:41 |

    Если вы хотите в перечне осмысленных слов "Мото Ауто Форум Деньги Золото" найти слово Форум и создадите полнотекстовый индекс по этому полю, то тогда MySQL найдет слово Форум мгновенно. Но слово должно быть осмысленным, чтобы MySQL понял что вы ищите именно Форум. Он так же найдет и слово Форумы, Форума, Форумов, Форума  и т.д. Но слово ОРУМ полнотекстовый поиск не найдет, а like '%ОРУМ%' найдет.

  • Ivan Kolenov
    13 wrzesnia 2019, 10:45 |

    вот то что нужно

  • Profil został zablokowany
    14 wrzesnia 2019, 9:04 |

    А при 250 тыс полнотекст накроется медным тазом. (

  • Oleksii K.
    13 wrzesnia 2019, 9:32 |

    Если Вы хотите использовать полнотекстовый поиск, Вам стоит отказаться от поиска по MySQL) такими запросами и по такой базе))).

    решение(если VPS): делать связку ЦМС - ...

  • Profil został usunięty
    13 wrzesnia 2019, 8:10 |

    Готов сделать  

  • Serhii K.
    13 wrzesnia 2019, 8:11 |

    Сделайте копию таблицы или всей базы данных для тестирования, и попробуйте создать вот такой индекс:

    ALTER TABLE `file` ADD FULLTEXT KEY `cosmos` (`cosmos`), ADD KEY `status` (`status`)

  • Ivan Kolenov
    13 wrzesnia 2019, 10:40 |

    Спасибо. время выполнения одинаково. 

  • Andrey Mestny
    13 wrzesnia 2019, 10:56 |

    Вам нужно использовать WHERE MATCH(`cosmos`) AGAINST('форум'),  а не  Like 

  • Serhii K.
    13 wrzesnia 2019, 11:52 |

    Верно. Забыл об этом написать.

  • Profil został usunięty
    13 wrzesnia 2019, 9:00 |

    У вас сервер на VPS?

  • Ivan Kolenov
    13 wrzesnia 2019, 10:58 |

    нет,  свой сервер.

  • Profil został zablokowany
    13 wrzesnia 2019, 9:52 |

    Попробуйте еще регулярными выражениями - может будет быстрее

    Пример: SELECT name FROM metal WHERE name REGEXP 'Форум'; 

  • Andrey Mestny
    13 wrzesnia 2019, 10:18 |

    Ну да а искать ..... WHERE MATCH(`cosmos`) AGAINST('форум')

  • Andrey Mestny
    13 wrzesnia 2019, 10:30 |

    Вам в каком виде вообще помощь нужна ? В виде совета, просмотра ваших SQL запросов или реальной перетряски всего вашего проекта, через SSH доступ к вашему серверу и пересмотр всей концепции поиска. 

  • Ivan Kolenov
    13 wrzesnia 2019, 10:43 |

    на стороне сервера я смогу все сам настроить, мне нужно оптимизировать запрос LIKE или заменить его...

  • Andrey Mestny
    13 wrzesnia 2019, 10:49 |

    Найдите доку как использовать полнотекстовый поиск в MySQL если MySQL слишком древний, то вам придется его обновить до версии поддерживающей полнотекстовый поиск. Если уж ничего не поможет, то пишите в личку договоримся.

  • Ivan Kolenov
    13 wrzesnia 2019, 10:53 |

    хорошо. спасибо.

  • Profil został usunięty
    13 wrzesnia 2019, 11:07 |

    Готов помочь в вашем вопросе

  • Profil został zablokowany
    14 wrzesnia 2019, 9:02 |

    Напишите в личку, скину вам сайт, где я в почти 2-х млн. сделал быстрый поиск внутри текста.

Aktualne zlecenia dla freelancerów w kategorii Bazy danych i SQL

Usunąć problem niepełnego importu danych z plików Excel specyfikacji Nowej Poczty do 1C:

164 PLN

Cel: Istnieje przetwarzanie w 1C dotyczące ładowania specyfikacji Nowej Poczty. Z nieznanych powodów przestało ładować niektóre dane tabelaryczne. Należy znaleźć przyczynę i usunąć problem niepełnego importu danych z plików Excel specyfikacji Nowej Poczty do 1C: Mały Biznes.…

Administracja systemem i sieciąBazy danych i SQL ∙ 2 dni 16 godzin temu ∙ 16 ofert

System ewidencji, planowania i sprzedaży dla farmy grzybowej

2215 PLN

Oto pełny, finalny tekst Technicznego Zadania (TZ). Łączy on wszystkie Twoje wymagania: 16 komór, 20 kontrahentów, harmonogram po dniach, ewidencja opakowań, obliczenie rentowności oraz obowiązkowy podział na trzy gatunki grzybów. Możesz całkowicie skopiować ten tekst i wysłać…

Bazy danych i SQLZarządzanie klientami i CRM ∙ 4 dni 19 godzin temu ∙ 55 ofert

Zewnętrzny raport 1C 8.3 — prognoza stanów towarów

82 PLN

Potrzebny zewnętrzny raport (.erf) dla 1C:Enterprise 8.3 (konfiguracja do ustalenia). Co ma robić: Wyciągać stany towarów z bazy Analizować historię sprzedaży za ostatnie 30 dni Liczyć średni tempo sprzedaży dla każdego towaru Określać, po ilu dniach towar się skończy Oznaczać…

Bazy danych i SQLZarządzanie klientami i CRM ∙ 4 dni 20 godzin temu ∙ 13 ofert

Audyt bezpieczeństwa aplikacji internetowej i bazy danych dla niestandardowego CRM — specjalista BaaS / Database-as-API (Penetr

Przegląd projektu Obsługujemy platformę zarządzania relacjami z klientami (CRM) stworzoną na zamówienie, która prowadzi dwa biznesy usługowe w jednym systemie. Jest to nowoczesna aplikacja internetowa JavaScript wspierana przez bazę danych jako usługa (BaaS) i wdrożona na…

Bazy danych i SQLTestowanie i kontrola jakości ∙ 5 dni 8 godzin temu ∙ 10 ofert

Synchronizacja baz danych

Synchronizacja programów Microsoft Access i CRM SalesDrive. Przekazywanie danych z CRM do Microsoft Access na pierwszym etapie (zmiana statusu lejka). Przekazywanie danych z Microsoft Access do CRM na drugim etapie (zmiana statusu w programie).

Bazy danych i SQL ∙ 5 dni 14 godzin temu ∙ 13 ofert

Zleceniodawca
Ivan Kolenov
Stany Zjednoczone Aberdeen  7  0
Zlecenie zostało opublikowane
6 lat temu
235 wyświetleń