DataTable - оптимальный поиск записей с точки зрения производительности
Limonad
Дата: 25.03.2010 21:08:55
Добрый день!
Есть вэб-страница, при загрузке которой всегда создаётся DataTable (около 100 записей). По этим 100 записям каждый раз происходит поиск нужных строк. Каким лучше образом использовать реализовать поиск:
1. DataTable.Select()
2. DataView.FindRows()
3. DataTable.Rows.Find()
или ещё есть более производительные способы?
Поиск производится с целью: поиска нескольких строк, вычисление агрегирующего значения (сумма, максимальное значение).
Заранее спасибо!
ShSerge
Дата: 25.03.2010 21:23:58
Limonad,
100 записей - не страшно. Сделайте, как Вам проще.
Limonad
Дата: 25.03.2010 21:30:38
ShSerge,
Если таких запросов к такой вэб-странице будет много - тоже без разницы? (Ну например 1000 одновременных запросов)
ShSerge
Дата: 25.03.2010 21:33:49
| Limonad |
| ...Ну например 1000 одновременных запросов... |
МСУ
Дата: 25.03.2010 21:37:58
| Limonad |
ShSerge, Если таких запросов к такой вэб-странице будет много - тоже без разницы? (Ну например 1000 одновременных запросов) |
Сделайте нагрузочный тест и проверьте сами. В чем проблемы?
Limonad
Дата: 25.03.2010 21:39:21
ShSerge,
Просто, ограничены аппаратные ресурсы, вот и спрашиваю )))
Limonad
Дата: 25.03.2010 21:40:43
| МСУ |
| Limonad | ShSerge, Если таких запросов к такой вэб-странице будет много - тоже без разницы? (Ну например 1000 одновременных запросов) |
Сделайте нагрузочный тест и проверьте сами. В чем проблемы? |
Думал, есть люди, которые уже сделали такие тесты
делать такие тесты - нужно время
хотел тут узнать..
МСУ
Дата: 25.03.2010 21:50:25
DataTable.Select
ShSerge
Дата: 25.03.2010 22:08:50
Limonad,
Те, у кого 1000 запросов может быть одновременных (посчитайте вероятность такой штуки, интересно) уж точно 1-3 не используют. У меня были селекты из базы (чуть меньше 10 приджойненных таблиц MS SQL), проверял на 1024 (нравится мне это число) одновременных запросов. Самая большая из этих таблиц содержала больше миллиона записей. Запрос на платформе аспнет, яве (JSP) и пхп выполнялся ~0.8 сек. На перле - то же самое ~1.3 секунды (ну там время тратилось на создание процесса, использовалось не фастцги, а просто цги). Причём, это был не какой-то там суперкомпьютер, а самый такой обыкновенный, такой же как у меня дома. Правда, должен сказать, что таблицы были правильно проиндексированы и соединение, если посмотреть план запроса, не использовало таблескан.
ShSerge
Дата: 25.03.2010 22:10:53
Тоесть, я хотел сказать не запрос, а 1024 одновременных запроса.