powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вопрос по запросу через Firebird ADO.NET Data Provider
47 сообщений из 47, показаны все 2 страниц
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647411
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Столкнулся с такой проблемой - данные запросом выдает порциями по 200 записей. Как это изменить?
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647461
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы выдавал по 146 ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647488
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам, больше 200 или вообще всё сразу отдавал
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647523
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется, там есть параметр ChunkSize или что-то в этом роде.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647525
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКажется, там есть параметр ChunkSize или что-то в этом роде.

Нету
Пример
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647543
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

где и как ты выполняешь этот запрос отсюда не видно
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647547
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да стопудово делает adapter.fill(dataset) и в гриде смотрит.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647550
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

ну тогда понятно.

Gallemar, покажи как запрос строишь. Там 100% в построителе запросов есть свойство отвечающее за это.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647560
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using FirebirdSql.Data;
using FirebirdSql.Data.Client;
using FirebirdSql.Data.FirebirdClient;
namespace ConsoleApp4

{

    class Program

    {

        static void Main(string[] args)

        {

            string connectionString = "User=SYSDBA;Password=masterkey;Database=s-market.fdb;DataSource=srv-250;Port = 3050; Dialect = 1; Charset = WIN1251; Role =; Connection lifetime = 30; Pooling = true;MinPoolSize = 0; MaxPoolSize = 50; Packet Size = 8192; ServerType = 0;";

            string queryString = "select ost.articul, cards.name, ost.quantity, pr.price_rub from ostdaily ost " +

"left join cardscla cards on ost.articul = cards.articul " +

"join disccard pr on pr.articul = ost.articul " +

"join pricekind prk on prk.ID_PRICEKIND = pr.PRICE_KIND " +

"left join mesuriment mes on cards.mesuriment = mes.id_mesuriment " +

"where ost.place_index in (select client_index from th_classbyclient where th_classif = 69) and ost.ost_date = 'today' " +

"and FILIALINDEX_PRICEKIND = 69 and kind = 0 rows 800";

            Console.WriteLine(queryString);

            Console.ReadKey();

            using (FbConnection connectionFb = new FbConnection(connectionString))

            {

                FbCommand command = new FbCommand(queryString, connectionFb);

                command.CommandTimeout = 0;

                connectionFb.Open();

                FbDataReader reader = command.ExecuteReader();

                while (reader.Read())

                {

                    var row = reader.GetString(0);

                    Console.WriteLine(row);

                }

                reader.Close();

            }

            Console.WriteLine("end");

            Console.ReadKey();

 

        }

    }

} 



...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647564
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> "and FILIALINDEX_PRICEKIND = 69 and kind = 0 rows 800";

Этот же запрос в IBE сколько записей возвращает ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647582
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

reader всегда читает целиком, так что проверяй запрос
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647629
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамGallemar> "and FILIALINDEX_PRICEKIND = 69 and kind = 0 rows 800";

Этот же запрос в IBE сколько записей возвращает ?

c fetch all 800
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647669
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarГаджимурадов РустамGallemar> "and FILIALINDEX_PRICEKIND = 69 and kind = 0 rows 800";

Этот же запрос в IBE сколько записей возвращает ?

c fetch all 800

1. Выкинь установку CommandTimeout для минимизации кода. Хотя, судя по коду этого провайдера, это свойство нигде не используется.

2. Попробуй подключаться через fbclient.dll

3. Попробуй другой провайдер - lcpi.data.oledb :) (можно как через fbclient.dll так и без него).
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647676
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

мне интересно а как ты узнал что запрос отфетчился не целиком? В консоле строчки считал? 800 шт. Серьёзно?
А может просто буфер консоли кончился?
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647677
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

а вот я не понял, что значит "выдает порциями по 200 записей"?
то есть, больше 200 все же выдает? И что значит "выдает"? Кто выдает, куда выдает?
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647684
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,

мне интересно а как ты узнал что запрос отфетчился не целиком? В консоле строчки считал? 800 шт. Серьёзно?
А может просто буфер консоли кончился?
Это видно в консоли - выдаст порцию, подумает секунду - выдаст ещё, потом ещё и ещё.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647685
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvGallemar,
а вот я не понял, что значит "выдает порциями по 200 записей"?
то есть, больше 200 все же выдает? И что значит "выдает"? Кто выдает, куда выдает?
Выводит в консоль результат запроса. Как - отвечал выше Денису. Ну и код выше есть.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647687
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коваленко Дмитрий2. Попробуй подключаться через fbclient.dll


Можно пример?
Коваленко Дмитрий3. Попробуй другой провайдер - lcpi.data.oledb :) (можно как через fbclient.dll так и без него).
Пробовали (без меня) ODBC - результат вроде такой же.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647688
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй сникерс.
он другой.
как орбит опель зин.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647689
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

там вариантов много. Может даже консоль вывод буфферизирует и даёт по частям. А может префетч для записей так работает, тогда надо искать размер пакета для префетча.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647719
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar выдаст порцию, подумает секунду - выдаст ещё, потом ещё и ещё.
а в IBE при fetchall не так? В плане запроса что?
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647827
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvGallemar выдаст порцию, подумает секунду - выдаст ещё, потом ещё и ещё.
а в IBE при fetchall не так? В плане запроса что?
Нет, отдает сразу 800. План запроса:
PLAN (TH_CLASSBYCLIENT INDEX (PK_TH_CLASSBYCLIENT))
PLAN JOIN (JOIN (JOIN (JOIN (OST INDEX (PK_OSTDAILY), CARDS INDEX (PK_CARDSCLA)), PR INDEX (PK_DISCCARD)), PRK INDEX (PK_PRICEKIND)), MES INDEX (PK_MESURIMENT))

Сегодня узнал ещё вот что - если выполнять другой вопрос (select * from CARDSCLA rows 800) - отдаст все записи без задержек.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647839
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> Это видно в консоли - выдаст порцию, подумает
Gallemar> секунду - выдаст ещё, потом ещё и ещё.

Рука-лицо просто... Ну попробуй их не в консоль выводить. а в файл писать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647849
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам, не мой код, сам чужое разбираю
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647918
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Для чего "разбираешь", цель какая ?
2. Автор в пределах досягаемости ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647935
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам1. Для чего "разбираешь", цель какая ?
2. Автор в пределах досягаемости ?

1. Руководитель поставил задачу
2. Да
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647936
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> 1. Руководитель поставил задачу
> 2. Да

1. Какую задачу-то? Выводить в консоль 800 записей?
2. Дык заряди его, пусть облагораживает свой г-код.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647942
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамGallemar> 1. Руководитель поставил задачу
> 2. Да

1. Какую задачу-то? Выводить в консоль 800 записей?
2. Дык заряди его, пусть облагораживает свой г-код.

1. Разобраться, что влияет на вывод записей по порциям
2. Не могу, это мой руководитель :)
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647949
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647961
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

попробуй добавить в connectionString
Код: plaintext
fetch size=1000

Код: c#
1.
2.
3.
....
string connectionString = "User=SYSDBA;Password=masterkey;Database=s-market.fdb;DataSource=srv-250;Port = 3050; Dialect = 1; Charset = WIN1251; Role =; Connection lifetime = 30; Pooling = true;MinPoolSize = 0; MaxPoolSize = 50; Packet Size = 8192; ServerType = 0;fetch size=1000;";
....


по умолчанию там как раз 200
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647965
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

если что в FbConnectionStringBuilder это определено так

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
[Category("Advanced")]
[DisplayName("FetchSize")]
[Description("The maximum number of rows to be fetched in a single call to read into the internal row buffer.")]
[DefaultValue(FbConnectionString.DefaultValueFetchSize)]
public int FetchSize
{
    get { return GetInt32(FbConnectionString.DefaultKeyFetchSize, FbConnectionString.DefaultValueFetchSize); }
    set { SetValue(FbConnectionString.DefaultKeyFetchSize, value); }
}
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647970
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

впрочем если бы запрос был быстрым ты бы и не заметил паузы. Просто оригинальный запрос долго извлекает 200 записей, а твой второй тестовый запрос быстро.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647973
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

меня с самого начала резанули слова Gallemar, что "таких параметров нет", и ссылка на какой-то пример на сайте.
Мне как-то надо было искать параметры транзакций в этом .net, я его исходники смотрел, там параметров хренова туча.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39647990
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

я бы на твоём месте не этот параметр крутил, а оптимизировал запрос, потому что для нормально написанного запроса ты этой паузы не заметишь.
По самому запросу:
1. все левые джойны собери в конце запросы, т.е. ниже внутренних
2. помедитируй над заменой in

Короче сделай сначала чтобы в IBE запрос пулей отрабатывал, а потом только в свой код его пиши. Возможно и fetchsize трогать не придётся
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648000
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Денис, большое спасибо за помощь.
p.s. передал нашим программистам, что они лохи и делфисты их вчистую уделали :)
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648019
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvСимонов Денис,

меня с самого начала резанули слова Gallemar, что "таких параметров нет", и ссылка на какой-то пример на сайте.
Мне как-то надо было искать параметры транзакций в этом .net, я его исходники смотрел, там параметров хренова туча.
Я смотрел свойства FbConnection и FbDataReader, fetch size там не увидел, в исходники не пришло в голову лазить
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648023
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисПо самому запросу:
1. все левые джойны собери в конце запросы, т.е. ниже внутренних
2. помедитируй над заменой in

Переделал, получил
План
PLAN (TH_CLASSBYCLIENT INDEX (PK_TH_CLASSBYCLIENT))
PLAN JOIN (JOIN (JOIN (PRK INDEX (PRICEKIND_IDX2), PR INDEX (DISCCARD_IDX_PRICEKIND), OST INDEX (PK_OSTDAILY)), CARDS INDEX (PK_CARDSCLA)), MES INDEX (PK_MESURIMENT))

------ Информация о производительности ------
Время подготовки запроса = 32ms
Время выполнения запроса = 1s 359ms
Среднее время на получение одной записи = 1,70 ms
Current memory = 20 959 080
Max memory = 28 795 752
Memory buffers = 1 024
Reads from disk to cache = 10 150
Writes from cache to disk = 26
Чтений из кэша = 470 488
против
План
PLAN (TH_CLASSBYCLIENT INDEX (PK_TH_CLASSBYCLIENT))
PLAN JOIN (JOIN (JOIN (PRK INDEX (PRICEKIND_IDX2), PR INDEX (DISCCARD_IDX_PRICEKIND), OST INDEX (PK_OSTDAILY)), CARDS INDEX (PK_CARDSCLA)), MES INDEX (PK_MESURIMENT))

------ Информация о производительности ------
Время подготовки запроса = 32ms
Время выполнения запроса = 1s 359ms
Среднее время на получение одной записи = 1,70 ms
Current memory = 20 959 080
Max memory = 28 795 752
Memory buffers = 1 024
Reads from disk to cache = 10 150
Writes from cache to disk = 26
Чтений из кэша = 470 488

А вот от in я не избавлюсь, увы
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648026
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс
План
PLAN (TH_CLASSBYCLIENT INDEX (PK_TH_CLASSBYCLIENT))
PLAN JOIN (JOIN (JOIN (PRK INDEX (PRICEKIND_IDX2), PR INDEX (DISCCARD_IDX_PRICEKIND), OST INDEX (PK_OSTDAILY)), CARDS INDEX (PK_CARDSCLA)), MES INDEX (PK_MESURIMENT))

------ Информация о производительности ------
Время подготовки запроса = 32ms
Время выполнения запроса = 1s 359ms
Среднее время на получение одной записи = 1,70 ms
Current memory = 20 959 080
Max memory = 28 795 752
Memory buffers = 1 024
Reads from disk to cache = 10 150
Writes from cache to disk = 26
Чтений из кэша = 470 488


против
План
PLAN (TH_CLASSBYCLIENT INDEX (PK_TH_CLASSBYCLIENT))
PLAN JOIN (JOIN (JOIN (JOIN (OST INDEX (PK_OSTDAILY), CARDS INDEX (PK_CARDSCLA)), PR INDEX (PK_DISCCARD)), PRK INDEX (PK_PRICEKIND)), MES INDEX (PK_MESURIMENT))

------ Информация о производительности ------
Время подготовки запроса = 31ms
Время выполнения запроса = 8s 969ms
Среднее время на получение одной записи = 11,21 ms
Current memory = 21 722 104
Max memory = 28 795 752
Memory buffers = 1 024
Reads from disk to cache = 142 144
Writes from cache to disk = 0
Чтений из кэша = 3 110 100
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648033
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО, классный пример ДЕ на оптимизацию.
Хотя надо ещё запросы сравнить, не выкинул
ли он оттуда чего лишнего.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648042
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамИМХО, классный пример ДЕ на оптимизацию.
Хотя надо ещё запросы сравнить, не выкинул
ли он оттуда чего лишнего.

Было

select OST.ARTICUL, CARDS.NAME, OST.QUANTITY, PR.PRICE_RUB
from OSTDAILY OST
left join CARDSCLA CARDS on OST.ARTICUL = CARDS.ARTICUL
join DISCCARD PR on PR.ARTICUL = OST.ARTICUL
join PRICEKIND PRK on PRK.ID_PRICEKIND = PR.PRICE_KIND
left join MESURIMENT MES on CARDS.MESURIMENT = MES.ID_MESURIMENT
where OST.PLACE_INDEX in (select CLIENT_INDEX
from TH_CLASSBYCLIENT
where TH_CLASSIF = 69) and
OST.OST_DATE = 'today'
and
FILIALINDEX_PRICEKIND = 69 and
KIND = 0 rows 800

Statement Plan
--------------
PLAN (TH_CLASSBYCLIENT INDEX (PK_TH_CLASSBYCLIENT))
PLAN JOIN (JOIN (JOIN (JOIN (OST INDEX (PK_OSTDAILY), CARDS INDEX (PK_CARDSCLA)), PR INDEX (PK_DISCCARD)), PRK INDEX (PK_PRICEKIND)), MES INDEX (PK_MESURIMENT))


стало
select OST.ARTICUL, CARDS.NAME, OST.QUANTITY, PR.PRICE_RUB
from OSTDAILY OST
join DISCCARD PR on PR.ARTICUL = OST.ARTICUL
join PRICEKIND PRK on PRK.ID_PRICEKIND = PR.PRICE_KIND
left join CARDSCLA CARDS on OST.ARTICUL = CARDS.ARTICUL
left join MESURIMENT MES on CARDS.MESURIMENT = MES.ID_MESURIMENT
where OST.PLACE_INDEX in (select CLIENT_INDEX
from TH_CLASSBYCLIENT
where TH_CLASSIF = 69) and
OST.OST_DATE = 'today'
and
FILIALINDEX_PRICEKIND = 69 and
KIND = 0 rows 800

Statement Plan
--------------
PLAN (TH_CLASSBYCLIENT INDEX (PK_TH_CLASSBYCLIENT))
PLAN JOIN (JOIN (JOIN (PRK INDEX (PRICEKIND_IDX2), PR INDEX (DISCCARD_IDX_PRICEKIND), OST INDEX (PK_OSTDAILY)), CARDS INDEX (PK_CARDSCLA)), MES INDEX (PK_MESURIMENT))


FB 2.5.3
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648067
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarЯ смотрел свойства FbConnection и FbDataReader, fetch size там не увидел, в исходники не пришло в голову лазить

а вот мне пришло. Потратил целых 2 минуты.

Гаджимурадов Рустам ИМХО, классный пример ДЕ на оптимизацию.

он знает. С перестановкой LEFT JOIN это старый косяк оптимизатора. Только вчера этот вопрос возникал. В запросах то ладно, их и переделать быстро можно, а вот когда делаешь JOIN с вьюхой в которой есть LEFT JOIN будет больно.
Первоначально его планировали исправить к выходу 3.0, но то ли не успели, то ли не получилось. Сам ДЕ говорит что исправить не тривиально.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648086
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> С перестановкой LEFT JOIN это старый косяк оптимизатора.

Я знаю, но в 8 раз - это уметь надо.

> Сам ДЕ говорит что исправить не тривиально.

Ну на нет и суда нет, дело хозяйское.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648098
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemarЯ смотрел свойства FbConnection и FbDataReader, fetch size там не увидел, в исходники не пришло в голову лазить

а вот мне пришло. Потратил целых 2 минуты.

Они на SF?
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648102
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

я качал отсюда https://www.firebirdsql.org/en/additional-downloads/
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648122
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,

я качал отсюда https://www.firebirdsql.org/en/additional-downloads/
Понятно,я просто NuGet ставил, так что дальше не лазил
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648203
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarПонятно,я просто NuGet ставил, так что дальше не лазил
документации нет, как узнать про "спецпараметры" и прочее? Только глянуть в исходники.

Вообще стыдобА, конечно, чувак за столько лет не сподобился минимальную доку написать, ограничился 6ю убогими примерами.
...
Рейтинг: 0 / 0
Вопрос по запросу через Firebird ADO.NET Data Provider
    #39648219
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvдокументации нет, как узнать про "спецпараметры" и прочее? Только глянуть в исходники.

Не обязательно. Я просто искал не там:
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вопрос по запросу через Firebird ADO.NET Data Provider
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]