Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте.
Задача у меня была такая: есть 2 таблицы с данными по звонкам (кто, куда, время и т.д.). Нужно сравнивать их раз в сутки, и смотреть какие звонки есть в таблице №1 но не попали в таблицу №2 и наоборот, есть в №2 но нет в №1.
Исходные данные у меня такие:
Отредактированно CaypoG (07.03.2012 09:30:47)
Неактивен
А какая у вас версия?
Второй запрос должен отработать мгновенно и вернуть пустой результат, а explain написать Impossible WHERE. Или вы приводите здесь не тот запрос, который выполняете на самом деле.
Кроме того смущает идентификация звонков только по времени. А если было несколько звонков в одно время? Или такая ситуация не возможна?
Ну и конечно индексов у вас нет никаких, даже на время.
Неактивен
vasya написал:
А какая у вас версия?
5.1.41
vasya написал:
Второй запрос должен отработать мгновенно и вернуть пустой результат, а explain написать Impossible WHERE. Или вы приводите здесь не тот запрос, который выполняете на самом деле.
Да, прошу прощения, просто скопировал не до конца поправив. Второй запрос на самом деле такой:
vasya написал:
Кроме того смущает идентификация звонков только по времени. А если было несколько звонков в одно время? Или такая ситуация не возможна?
Возможна, но не на тестовом сервере. Отбор только по времени для того, чтобы сократить время выполнения запроса, которое и так огромное. А в целом да, ещё нужно смотреть по АНИ звонившего, и набранному номеру.
vasya написал:
Ну и конечно индексов у вас нет никаких, даже на время.
Проиндексировал datetime и begintime. Выполнилось за 0.1994 секунды
Дело в том, что tmp табличка каждый день обновляется, а старая информация из неё вытирается. Один раз выставив индекс я проблему решу, или нужно каждый день его проставлять?
Отредактированно CaypoG (07.03.2012 11:07:23)
Неактивен
Неактивен
Видимо мы с вами одновременно писали. Я редактировал, а вы сообщение добавили
Неактивен
Индекс добавляется один раз, далее при добавлении/удалении/редактировании данных он автоматически перестраивается.
Неактивен