|
MySQL.RU - Webboard
Вернуться
Слияние таблиц, JOIN, тормоза MySQL (Varravann) 20/10/2008 - 19:16:15
Re: Слияние таблиц, JOIN, тормоза MySQL (bac) 20/10/2008 - 21:14:18
Re: Re: Слияние таблиц, JOIN, тормоза MySQL (Varravann) 21/10/2008 - 13:05:25
Re: Re: Слияние таблиц, JOIN, тормоза MySQL (bac) 21/10/2008 - 13:46:37
Re: Re: Слияние таблиц, JOIN, тормоза MySQL (Jeck) 26/10/2011 - 15:27:54
> Original message text:
> From: Varravann - 20/10/2008 - 19:16:15
> Subject:Слияние таблиц, JOIN, тормоза MySQL
> -----------------
> Disclaimer: я в SQL вообще нуб, а поэтому прошу объяснять попонятнее (хотя в остальных вопросах я вполне компетентный программер).
>
> Диспозиция на поле боя: MySQL5.0.45 в составе Denwer, Виста, ноут на 2-гигагерцовом C2D T7300, 2 гига оперативы, в MySQL имеются две таблицы (пусть будут tA и tB) по 600 тысяч строк каждая (одна - 100 столбцов, другая - 150 столбцов, под 400Mb каждая по показаниям phpMyAdmin). Эти две таблицы по логике являются двумя частями единой 250-столбцовой таблицы, а поэтому в обеих таблицах есть идентификационный столбец nn с уникальным целочисленным номером строк (т.е. каждый используемый номер встречается по одному разу в tA и tB, но порядок может быть слегка разный).
>
> Требуется: делать выборки целых строк из той виртуальной единой 250-столбцовой таблицы.
> Я, начитавшись мануалов, сделал запрос типа такого:
>
> SELECT * FROM tA LEFT JOIN tB USING(nn)
>
> Но результата я дождаться не смог и за 3 часа (вызов делаю из Matlab'а через JDBC-драйвер, если что). Видимо, что-то я делаю не так, поскольку аналогичные запросы к каждой из двух подтаблиц по отдельности срабатывают за 5-10 секунд.
>
> Спрашивается:
> 1) Можно ли как-то оптимизировать запрос, указав, что nn-номера уникальны и почти упорядочены, и что не надо шерстить всю базу зазря? (Подозреваю, что nn-столбцы надо сделать индексированными, но вот как?)
>
> 2) Думаю, что самой лучшей оптимизацией было бы единовременное слияние подтаблиц в РЕАЛЬНУЮ 250-столбцовую и потом запуск запросов уже по ней. Только вот кто бы мне подсказал правильную команду, которую надо кинуть в MySQL для проведения такого дела... А то я пока пользую БД только на чтение (и для моей работы мне больше и не надо) и совершенно не ориентируюсь в "data modify"-командах SQL.
>
> Заранее спасибо всем, кто соберется помочь. =)
>
From: Jeck - 26/10/2011 - 15:27:54
Subject:Re: Слияние таблиц, JOIN, тормоза MySQL
-----------------
Таблица проиндексирована??? если нет то и год ждать будете
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
40669
|
|