- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
select csv_prices.mag,count(csv_prices.mag) from csv_prices,csv_direct where csv_prices.mag=39 and LOCATE(csv_direct.name,csv_prices.name) group by csv_prices.mag
csv_prices 170 000 строк
csv_direct 20 000 строк
зависает сервер. мускул дает загрузку процессора на 100%.
---------- Добавлено 21.11.2014 в 11:52 ----------
добавление ключей не помогло
---------- Добавлено 21.11.2014 в 11:52 ----------
сервер Virtual CPU 1200Mhz, 1536Mb memory
увеличить ресурсы может попробовать?
EXPLAIN SELECT и SHOW CREATE TABLE покажите.
Сделайте псевдонимы таблиц а то вообще не удобно читать запрос.
csv_prices
CREATE TABLE `csv_prices` (
`mag` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
`price` double NOT NULL,
`jd` varchar(255) NOT NULL,
`model` varchar(255) NOT NULL,
`vendor` varchar(255) NOT NULL,
KEY `name` (`name`),
KEY `name_2` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
---------- Добавлено 24.11.2014 в 13:16 ----------
csv_direct
CREATE TABLE `csv_direct` (
`name` varchar(255) NOT NULL,
UNIQUE KEY `name_2` (`name`),
KEY `name` (`name`),
KEY `name_3` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
Вот еще !........
1. зачем использовать LOCATE? не пробовали с простым поиском LIKE %%
2. смысл вешать простой индекс на строку? если вешать то FULLTEXT это снижает нагрузку при поиске,
3. в csv_prices тоже индексы на строках а на mag индекса нет, хотя на нем бы он как раз работал.
4. из структуры приведенной не очень понятно что именно в них хранится, но видно что структура ужасная)) лучший вариант доработать структуру и скрипты обрабатывающие, добавить в csv_direct нормальный индекс числовой, и связующую таблицу, скриптом обработать исходные таблицы и заполнить связующую таблицу, и при добавлении в базу делать сразу обработку данных и заполнение этой связующей таблицы.
Таблица csv_prices не имеет первичного ключа? Вы используете mag в условие.
Зачем вам столько индексов одного поле?
UNIQUE KEY - это тоже индекс, создавать отдельный индекс для того же поле не нужно.
csv_direct.name = csv_prices.name
или MATCH AGAINST для полно-текстового поиска
или, как посоветовали выше, переделать структуру и добавить ид для связи таблиц.
где какие ключи добавить или удалить
структуру переделать нет возможности сейчас
csv_direct.name = csv_prices.name не проходит
нужно именно сравнение вхождения
где какие ключи добавить или удалить
Вам все написали в двух сообщениях где и какие ключи нужно заменить. Не тыкать же носом как в детский сад в самом деле. Будьте добры, прочитайте внимательно несколько раз. Ну то, что таблице csv_prices нужно добавить первичный ключ это однозначно. mag у вас что, не уникальный идентификатор?