![]() |
|
Модераторы: skyboy |
![]()
|
|
| ivanfain |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.3.2012 Репутация: нет Всего: нет |
Привет ребята.
Использую mssql, но желательно, чтобы запрос был универсальным. Я разрабатываю элемент управления, который будет содержать определённое количество ячеек. От 100 до 1000 а может и более. Каждая ячейка делает, уникальный запрос к безе, точнее к DataSet. В каждом запросе уникальное сочетание фильтров. На данный момент элемент управления на несколько секунд замирает. Судя по всему, нужно поработать над производительностью. Идея такая, создать запрос, который вернёт все необходимые данные за один раз. Я полагаю, что очень много времени тратится на создание запроса-отправку-парсинг запроса в mssql. 1.Как вы думаете, если я вынесу все запросы в один, поможет ли это мне существенно повысить производительность? 2.Если да, то, как составить запрос таким образом, чтобы данные удобно было извлечь в программу, использую c#? Сейчас у меня получается что-то на подобии “select Count(*) from tb where column1=’text1’”. В результате я получаю список rows, которые очень удобно распарсить. А удобно вывести данные при построении большого запроса, и как этот запрос должен выглядеть? Допустим, я хочу чтобы в результате получилась таблица, где column1 – некий мой уникальный Id, который я передал в запрос и по которому найду данные для своей ячейки. И column2 – некий результат “select Count(*) from tb where column1=’text1’”. Надеюсь, суть изложил понятно. Спасибо. |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 2 Всего: 42 |
А вы не полагайте, а займитесь профилированием -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| ivanfain |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.3.2012 Репутация: нет Всего: нет |
Я бы с удовольствием занялся бы, только запросы составить не получается.
|
|||
|
||||
| Fortop |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 2 Всего: 42 |
Ну для универсальности придется использовать что-то вроде LINQ или Hibernate
А так запросы будут весьма различны MySQL
MSSQL (не совсем эквивалент запроса выше. Эквивалент будет сложнее)
-------------------- Мир это Я. Живее всех живых. |
||||||
|
|||||||
| ivanfain |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.3.2012 Репутация: нет Всего: нет |
Мне бы получить таблицу таких данных
col1 col2 некоте значение, переданное в запрос результат выполнения select Count(*) from tb where (некоторое условие) Добавлено через 1 минуту и 46 секунд Выводимые данные должны выглядеть примерно так col1 col2 1 23 2 0 3 0 4 12 5 7 6 3 7 0 8 0 Добавлено через 3 минуты и 22 секунды Linq может получится использовать, если пойму как запрос будет выглядеть в T-SQL. Но может и заморачиваться не стоит? Может не даст прироста производительности? |
|||
|
||||
| ivanfain |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.3.2012 Репутация: нет Всего: нет |
На данный момент пришёл к такому результату
Однако в данном случае я получаю две таблицы в DataSet. А лучше бы я получал записи. И мне вот не ясно, эти таблицы в DataSet это уже результат выполнения запроса, или запросы пойдут в базу после того как я обращусь к строкам таблицы? |
|||
|
||||
| Fortop |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 2 Всего: 42 |
GROUP BY не? не пробовали?
Эм, это вам надо обращаться к своему языку на котором вы пишете. Данный топик совсем не о том. Это сообщение отредактировал(а) Fortop - 17.3.2012, 23:06 -------------------- Мир это Я. Живее всех живых. |
||||||
|
|||||||
| ivanfain |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.3.2012 Репутация: нет Всего: нет |
Совсем не понял как он может мне помочь. Например написал я такой запрос.
Здесь задействуется только один фильтр. Я могу конечно их добавить хоть 10, но один запрос я собираюсь использовать с одним набором фильтров, например по Item, а в другом Item даже не будет, будет Company. Как тогда? |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 2 Всего: 42 |
Тогда рисуйте динамические запросы -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |