Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Розмістіть свій проєкт безплатно та почніть отримувати пропозиції від фрилансерів-виконавців уже через хвилини після публікації!

Оптимізація таблиці та запитів mysql

Translated1163 UAH

Додатки 1

Перегляд додатків доступний тільки зареєстрованим користувачам.

Відгук замовника про співпрацю з фрилансером

Якість
Професіоналізм
Вартість
Контактність
Терміни

Все добре, працює набагато швидше, ніж працював sql.

Відгук фрилансера про співпрацю з Иваном Коленовым

Оплата
Постановка завдання
Чіткість вимог
Контактність

Адекватний і доброзичливий замовник. Я задоволений співпрацею.

Профіль видалено | Сейф Сейф

  1. 204    7  0
    3 дні1454 UAH

    Добрий день, у мене є досвід в оптимізації БД і запитів, з задоволенням допомоги. У моїй практиці був випадок, коли таблиці містили не менше 300к записів і створювали навантаження настільки велике, що провайдер погрожував відмовою у співпраці. В результаті зараз все працює без проблем. Ваш випадок нагадує мені цей. Для початку мені потрібна більше інформації про структуру БД і за запитом. Чекаємо на Ваші повідомлення.
    Добрый день, имею опыт в оптимизации БД и запросов, с удовольствием помогу. В моей практике был случай, когда таблицы содержали не менее 300к записей и создавали настолько большую нагрузку, что провайдер грозил отказом в сотрудничестве. В результате сейчас всё работает без проблем. Ваш случай мне напоминает тот. Для начала мне нужно больше информации по структуре БД и по запросу. Жду ваших сообщений.

  2. Ще 3 ставки приховано
  • Профіль заблоковано
    13 вересня 2019, 3:39 |
    видалено модератором
  • Иван Коленов
    13 вересня 2019, 3:51 |

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

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

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

  • Андрей Местный
    13 вересня 2019, 7:10 |

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

  • Андрей Местный
    13 вересня 2019, 7:12 |

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

  • Иван Коленов
    13 вересня 2019, 7:13 |

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

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

  • Андрей Местный
    13 вересня 2019, 7:16 |

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

  • Андрей Местный
    13 вересня 2019, 7:18 |

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

  • Андрей Местный
    13 вересня 2019, 7:18 |

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

  • Иван Коленов
    13 вересня 2019, 7:31 |

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

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

  • Андрей Местный
    13 вересня 2019, 8:28 |

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

  • Иван Коленов
    13 вересня 2019, 10:29 |

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

  • Андрей Местный
    13 вересня 2019, 10:41 |

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

  • Иван Коленов
    13 вересня 2019, 10:45 |

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

  • Профіль заблоковано
    14 вересня 2019, 9:04 |

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

  • Олексій К.
    13 вересня 2019, 9:32 |

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

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

  • Профіль видалено
    13 вересня 2019, 8:10 |

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

  • Сергій К.
    13 вересня 2019, 8:11 |

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

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

  • Иван Коленов
    13 вересня 2019, 10:40 |

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

  • Андрей Местный
    13 вересня 2019, 10:56 |

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

  • Сергій К.
    13 вересня 2019, 11:52 |

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

  • Профіль видалено
    13 вересня 2019, 9:00 |

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

  • Иван Коленов
    13 вересня 2019, 10:58 |

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

  • Профіль заблоковано
    13 вересня 2019, 9:52 |

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

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

  • Андрей Местный
    13 вересня 2019, 10:18 |

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

  • Андрей Местный
    13 вересня 2019, 10:30 |

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

  • Иван Коленов
    13 вересня 2019, 10:43 |

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

  • Андрей Местный
    13 вересня 2019, 10:49 |

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

  • Иван Коленов
    13 вересня 2019, 10:53 |

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

  • Профіль видалено
    13 вересня 2019, 11:07 |

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

  • Профіль заблоковано
    14 вересня 2019, 9:02 |

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

Актуальні фриланс-проєкти в категорії PHP

Телеграм отримати смс php

12 345 UAH

потрібно витягувати, наприклад, в блокнот на сайт повідомлення з бота. Бот не мій - сторонній. Сайт на php.

PHP ∙ 1 ставка

Gmail отримати повідомлення php

12 345 UAH

потрібно отримувати листи з пошти [email protected] через api gmail з сайту (php) завдання полягає лише в отриманні нових листів, обробку зроблю самостійно

PHP ∙ 3 ставки

Адмінка для статейного сайту

Добрий день. необхідно написати адмін панель для ігрового статейного сайту (сайт цей - https://themeforest.net/item/goodgames-portal-store-html-gaming-template/17704593) В адмінці повинно бути: 1. **Управління користувачами:** - Створення нових користувачів. -…

HTML та CSS верстанняPHP ∙ 8 ставок

Laravel + VueJS + InertiaJS ``` Ларавель + В'юДжеС + ІнерціяДжеС

Good day, the project is written, it is working and ready to launch. Except for one nuance. SSR(Server Side Rendering) works very slowly, when launching a bot to check the load - the site crashes after 3-4 minutes. If you restart SSR during the check, it works but very slowly.…

JavascriptPHP ∙ 2 ставки

Змінити логіку акції 1+1=3

Відео про те, що потрібно зробити https://www.loom.com/share/e73bc4b1b04c49f7b78acf95e9ce7d15?sid=73b5c8ee-c7c5-4518-86ef-acfc7ffda194 Якщо коротко, то потрібно змінити логіку акції 1+1=3 Наразі при додаванні 2-х піц 40см, вистрибує модалка де юзер може обрати собі 30-ку в…

PHP ∙ 1 ставка

Замовник
Иван Коленов
США Aberdeen  7  0
Проєкт опублікований
4 роки тому
235 переглядів