|
|
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
Всем привет. Задача такая: есть 10 миллионов записей, у каждой есть id и текст длиной 200 байт. Индекс по ID. Нужно быстро делать выборку из этой базы по группе из 500сот не связанных между собой ID: select * from ... where id in(1,2,3,4,5...500) эти 500 подзапросов убивают любой винчестер, и получить быстродействие выше 1 запроса в секунду не получается. Вопрос - как получить быстродействие 10 выборок в секунду? Кроме как установить 10 винчестеров или больше памяти чтобы вся база умещалась в кеш идей у меня нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 01:36 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
vazhneckiВсем привет. Задача такая: есть 10 миллионов записей, у каждой есть id и текст длиной 200 байт. Индекс по ID. Нужно быстро делать выборку из этой базы по группе из 500сот не связанных между собой ID: select * from ... where id in(1,2,3,4,5...500) эти 500 подзапросов убивают любой винчестер , и получить быстродействие выше 1 запроса в секунду не получается. Вопрос - как получить быстродействие 10 выборок в секунду? Кроме как установить 10 винчестеров или больше памяти чтобы вся база умещалась в кеш идей у меня нет... В каком смысле убивают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 09:36 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
vazhnecki , какая СУБД-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 10:17 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
Сколько лет назад афтар впервые сел за комп ? Такое впечатление, что пошел 2-й год Научитесь спрашивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:04 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
похоже здесь одни школьники остались с тех пор как я заходил в последний раз :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:06 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
создайте такую тестовую базу и поймёте о чем я. база mysql myisam, но это значния не имеет, разве что другой тип индекса выбрать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:07 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
> похоже здесь одни школьники остались с тех пор как я заходил в последний раз Нет, дружище, школьники типа Вас сюда иногда заходят и начинают спрашивать фигню. Вот как сейчас. Вам русским языком сказали: научитесь задавать вопросы. Сейчас Вы задали вопрос "как заставить велосипед летать?". Ответ очевиден даже полным баранам: никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:33 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
vazhneckiсоздайте такую тестовую базу и поймёте о чем я. база mysql myisam, но это значния не имеет, разве что другой тип индекса выбрать Однако невежливо так отвечать. Все в этом мире имеет значение :) Ну а если база mysql зайди в соответствующий раздел и задай там вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:35 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
если здесь есть нормальные люди - напишите ответ, остальным просьба не флудить, вопрос задан исчерпывающе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:54 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
база любая, задача и заключается в выборе условий для реализации, а не реализация на определённой базе/железе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 12:55 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
vazhneckiбаза любая, задача и заключается в выборе условий для реализации, а не реализация на определённой базе/железе. Если база любая, то могу тебе сказать что проблем у мну с такими запросами нет и первоначальный вопрос к проектированию как по мне никакого отношения не имеет. так-что ищи соответствующий раздел и задавай нормально вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 13:05 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
vazhneckiбаза mysql myisam, но это значния не имеет, разве что другой тип индекса выбрать Ты глубоко ошибаешься... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 13:09 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
vazhneckiбаза любая, задача и заключается в выборе условий для реализации, а не реализация на определённой базе/железе.У нас на Оракле проблема не засветилась... Помогло хоть чем-то? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 15:39 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
у вас на оракле делает 5000 СЛУЧАЙНЫХ выборок в секунду ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 16:58 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
vazhnecki Нужно быстро делать выборку из этой базы по группе из 500сот не связанных между собой ID: select * from ... where id in(1,2,3,4,5...500) Обычно делают вторую таблицу в которую записывают эти 500 id, и потом уже используя inner join ... должно быть гораздо быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:01 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
Уточняю для тех кто в танке: >эти 500 подзапросов убивают любой винчестер, и получить быстродействие выше 1 запроса в секунду не получается. Здесь "1 запрос" это, как я написал, запрос вида: select * from ... where id in(1,2,3,4,5...500) а не один из этих 500 подзапросиков, надеюсь вы хоть про подзапросики знаете, или здесь вообще детский сад :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:03 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
S.G.vazhnecki Нужно быстро делать выборку из этой базы по группе из 500сот не связанных между собой ID: select * from ... where id in(1,2,3,4,5...500) Обычно делают вторую таблицу в которую записывают эти 500 id, и потом уже используя inner join ... должно быть гораздо быстрее вы прикалываетесь ? какое быстрее, один и тотже primary индекс испольдуется для поиска тела по ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:07 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
vazhneckiУточняю для тех кто в танке: >эти 500 подзапросов убивают любой винчестер, и получить быстродействие выше 1 запроса в секунду не получается. Здесь "1 запрос" это, как я написал, запрос вида: select * from ... where id in(1,2,3,4,5...500) а не один из этих 500 подзапросиков, надеюсь вы хоть про подзапросики знаете, или здесь вообще детский сад :) Устал ты нас У нас в яслях и садике нет этих проблем, совсем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:10 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
правильно, давайте обсудим ясли, школу и садик, а про задачу, которую блин даже никто понять не может, просто забудем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:20 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
vazhneckiсоздайте такую тестовую базу и поймёте о чем я. база mysql myisam, но это значния не имеет, разве что другой тип индекса выбрать Ну создал? 0.04 Сек... все 500.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:21 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
Glokvazhneckiсоздайте такую тестовую базу и поймёте о чем я. база mysql myisam, но это значния не имеет, разве что другой тип индекса выбрать Ну создал? 0.04 Сек... все 500..Даже и не знаю что подумать, на что грешить. Может руки прямые? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:44 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
Glokvazhneckiсоздайте такую тестовую базу и поймёте о чем я. база mysql myisam, но это значния не имеет, разве что другой тип индекса выбрать Ну создал? 0.04 Сек... все 500.. с первого запроса ? или после того как дисковый кеш их запомнил ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:53 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
уточняю для вторых танкистов :) select * from .... where id in(N1,N2...N500) где все N случайны В таблице записей не 10 штук, а 10 миллионов, так, что даже половина не умещяется в кеше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 17:56 |
|
||
|
Подскажите правильно ли я мыслю
|
|||
|---|---|---|---|
|
#18+
если у вас куча оперативки, а базу вы только что создали, то вся она будет в кеше и эксперимент не получится - чтобы получить представление о проблеме - создайте базу, перезагрузитесь (или сбросьте дисковый кеш вашей операционки) и повторите этот запрос, будет далеко не 0.04 секунды ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2009, 18:00 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35882548&tid=1543365]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
183ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 522ms |

| 0 / 0 |
