Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Всем здравствуйте! Есть несколько вопросов, буду рад, если поможете советами. 1. Каким способом можно относительно быстро наполнить таблицу 20ю миллионами строк из шаблона в 100тыс. строк? То есть в текстовом файле есть 100тыс. строк, нужно размножить их до 20 миллионов. 2. В базе в каждой строке 35 столбцов (в основном varchar), запрос будет вида SELECT * FROM table WHERE text = 'example', text планируется индексом. Можно ли так обращаться к настолько большой базе данных (в плане времени ожидания)? 3. Какие основные моменты вы бы посоветовали для ускорения (до 3с на запрос) такой базы данных? Огромное спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2017, 17:53 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Portreter, 1. Декартово произведение на таблицу из 200 строк. Или на две таблицы из 10 и 20 строк. И т.д. 2. Зависит от селективности условия. Если выбираться будет очень небольшая доля записей, то все будет хорошо. 3. Вопрос некорректен. Время выполнения запроса зависит от такой массы условий, что проще протестировать, чем посчитать. Но применительно к запросу из пункта 2 при высокой селективности условия 3 секунды представляются вполне возможными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2017, 19:34 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
автор1. Декартово произведение на таблицу из 200 строк. Или на две таблицы из 10 и 20 строк. И т.д. А технически как это делается? автор2. Зависит от селективности условия. Если выбираться будет очень небольшая доля записей, то все будет хорошо. Спасибо! Будет выбираться одна только строка. И по пункту 3 еще раз спасибо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2017, 02:31 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
PortreterА технически как это делается?JOIN-ом без указания условия соединения таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2017, 13:32 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
miksoft, Я сделал запрос SELECT * FROM table1 CROSS JOIN table2 . В результате два вопроса: 1. Как полученное сохранить в таблицу (чтобы в реальной таблице было 20 миллионов записей)? 2. В результате объединения количество столбцов стало 70 (35+35). А нужно чтобы 35 и осталось. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 02:21 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Так, в общем получилось у меня создать нужную таблицу) Но теперь другая проблема - запрос вида select * from table where col1=test (test - число в 10 символов) выполняется 2.2 минуты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 03:45 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 09:25 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Portretermiksoft, Я сделал запрос SELECT * FROM table1 CROSS JOIN table2 . В результате два вопроса: 1. Как полученное сохранить в таблицу (чтобы в реальной таблице было 20 миллионов записей)? 2. В результате объединения количество столбцов стало 70 (35+35). А нужно чтобы 35 и осталось. Заранее спасибо! Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 12:14 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо! Поставил создание индекса, но я так понимаю индекс на такое количество записей будет создаваться вечность). Можно как-то проверить создан ли в итоге индекс и сколько он весит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 13:10 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Portreterиндекс на такое количество записей будет создаваться вечностьОтсортирить 20кк чисел - вечность? не смеши... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 13:21 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
PortreterМожно как-то проверить создан ли в итоге индекс Если сервер выполнил команду, не сообщил об ошибке и показал новое приглашение ввода - да, выполнил. Чудес не бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 13:23 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
AkinaPortreterМожно как-то проверить создан ли в итоге индекс Если сервер выполнил команду, не сообщил об ошибке и показал новое приглашение ввода - да, выполнил. Чудес не бывает. Вот к сожалению выдал ошибку 500 Interval Error. Как в итоге посмотреть сколько весит индекс? Может со свободным местом проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 13:29 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Portreterвыдал ошибку 500 Interval ErrorУ MySQL нет такого сообщения. А с ошибками веб-сервера ты не по адресу. И ошибка веб-сервера вовсе не означает, что MySQL-сервер не выполнил затребованную операцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 15:47 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
AkinaPortreterвыдал ошибку 500 Interval ErrorУ MySQL нет такого сообщения. А с ошибками веб-сервера ты не по адресу. И ошибка веб-сервера вовсе не означает, что MySQL-сервер не выполнил затребованную операцию. Ага, ясно. А как все же на счет информации по занимаемому месту индекса? И как вообще посмотреть какие индексы работают в таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 16:31 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
PortreterИ как вообще посмотреть какие индексы работают в таблице? Гуглите EXPLAIN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 16:43 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
macheteroPortreterИ как вообще посмотреть какие индексы работают в таблице? Гуглите EXPLAINГуглить не надо. Надо смотреть в официальной документации - EXPLAIN Output Format ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 18:11 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
PortreterА как все же на счет информации по занимаемому месту индекса?Зависит от массы условий. В т.ч. от размера входящих полей, типа движка таблицы, наличия/размера полей первичного ключа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 18:15 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Сейчас посмотрел, у меня база 25 Гб занимает) Я так понимаю это все индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2017, 21:53 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Народ, еще такой вопрос - правильная (ну самая начальная) структура таблицы такая? col1 - PRIMARY KEY, уникальный первичный ключ (индекс), id каждой строки; col2 - INDEX, основной столбец, по которому будет происходить поиск в таблице; col3-col30 - все остальные столбцы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 01:03 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
Portreter, Традиционно поля первичного ключа идут первыми. Но это лишь для удобства чтения человеком. Все остальное вообще роли не играет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 11:11 |
|
||
|
Большая база данных
|
|||
|---|---|---|---|
|
#18+
miksoftPortreter, Традиционно поля первичного ключа идут первыми. Но это лишь для удобства чтения человеком. Все остальное вообще роли не играет. Ясно, спасибо! А вот еще такой важный нюанс - у меня сейчас размер этой базы данных (20 миллионов строк, 26 столбцов) 11Гб (индекс занимает 300 Мб) - это нормально 11Гб или я может быть что-то не так сделал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2017, 11:37 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39412720&tid=1830876]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 139ms |

| 0 / 0 |
