Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Странная тенденция
 
 автор: elenaki   (09.09.2016 в 10:52)   письмо автору
 
 

Если результат повторяется от раза к разу (не точь в точь, но тенденция явно прослеживается) - это уже логика?
T.е. так и должно быть? Или все из-за одной и той же ошибки?

Есть две огромные таблицы - в одной больше 11 млн записей, в другой почти 9 млн. Из первой я выбираю аналог ИНН потенциального заказчика (по дате окончания договора). Из второй по этому ИНН выбираю телефон. Выборка ИНН делается по трем периодам - 5 дней следущего за текущим месяца, 5 дней за полгода до и 5 дней за год до.

Например, если следущий месяц - октябрь, то берем ИНН из договоров, которые кончаются от 01/10/2016 до 05/10/2016, от 01/04/2016 до 05/04/2016 и от 01/10/2015 до 05/10/2015. Цифры получаются примерно одинаковые от периода к периоду. Странно другое.

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

Например,
за первые 5 дней октября 2016 мне выдало 3000 ИНН и по ним нашлось 450 телефонов (15%);
за первые 5 дней апреля получилось 26000 ИНН и ~5000 телефонов (~20%);
за первые 5 дней октября 2015 нашлось ~380000 ИНН и ~15000 телефонов (~40%);

И вот эти отношения числа телефонов от числа ИНН (~15%, ~20%, ~40%) сохраняются на протяжении почти 1.5 лет. Что раньше было, я не знаю. Меня волнует, что дальше будет? И из-за чего телефонов становится все меньше? Ведь база телефонов (по идее) от времени не зависит. Т.е. зависит, но не так сильно. Стационарные телефоны не меняются десятилетиями, ИНН не меняется вообще. Почему связок ИНН+телефон все меньше? Боюсь, что скоро вообще ничего не найду. Или какая-то ошибка в запросе и за бортом остаются полезные данные?

Запрос делаю так
1. выбираю ИНН из таблицы договоров за нужный период, результат заношу в таблицу
2. экспортирую из этой таблицы в csv и скриптом открываю файл по частям и делаю зaпрос на поиск телефона, результат заношу в другую таблицу

Пришлось делать так, потому что на таких больших таблицах PMA не успевал обрабатывать запросы. Мне нужен список телефонов в csv, который я потом гружу в другую программу.

  Ответить  
 
 автор: Valick   (09.09.2016 в 11:33)   письмо автору
 
   для: elenaki   (09.09.2016 в 10:52)
 

не исключено, что вы где-то теряете данные из-за махинаций при их выборке
что-то у вас не так с организацией БД, раз приходиться изголяться с CSV

  Ответить  
 
 автор: elenaki   (09.09.2016 в 12:13)   письмо автору
 
   для: Valick   (09.09.2016 в 11:33)
 

С базой все нормально. Таблицы очень большие, у PMA таймаут при запросах, хотя поиск делаю по индексированным полям..

  Ответить  
 
 автор: Valick   (09.09.2016 в 12:29)   письмо автору
 
   для: elenaki   (09.09.2016 в 12:13)
 

Вы мне поверите если я скажу, что при индексированном поле время выборки зависит только от количества подходящих под условие выборки данных, и мало зависит от общего размера БД? Я уже молчу про партицирование.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования