powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / IB Expert работа с большой таблицей
19 сообщений из 19, страница 1 из 1
IB Expert работа с большой таблицей
    #38643243
Alino4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Есть такая проблемка. Есть готовая база, в ней есть таблица RECORD таблица довольно таки большая, примерно 2700000 записей.
http://www.radikal.ru][IMG] http://s58.radikal.ru/i162/1405/6a/e14e979151d1.jpg [/IMG]
Меня в ней интересуют 2 поля R_DT и R_TAG. Но отсортировать по этом полям я не могу т.к. программа начинает перебирать записи и приблизительно на 2000000 записей программа вылетает с ошыбкой
http://radikal.ru/fp/3b4dad3450204d21a169ba5033e01068][IMG] http://s006.radikal.ru/i214/1405/d8/21aaafc8707bt.jpg [/IMG]
Отсортировать соответственно тоже не могу именно по причине ошибки. Подскажите пожалуйста как можно добраться до необходимых данных?
Может какой вариант SQL запроса есть?
Заранее спасибо.
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38643258
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alino4ka,

конечно есть

Код: sql
1.
2.
3.
SELECT *
FROM RECORD
ORDER BY MYFIELD ROWS 100



глупо полагать что 3ёх миллионную таблицу можно отсортировать в IBE щёлкнув по столбцу грида. Тем более что IBE существует только в 32 битном варианте
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38643259
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alino4kaМожет какой вариант SQL запроса есть?


Вариант есть 146%. Зависит от того, что именно тебе надо. Вряд ли тебе нужны все 2.7 млн записей.
Ограничивай выборку кляузой WHERE.
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38643270
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alino4kaМожет какой вариант SQL запроса есть?Разумеется.
Alino4kaПодскажите пожалуйста как можно добраться до необходимых данных?Для начала формализовать критерий "необходимых".
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38643278
mvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alino4ka,
в sql-editor'e:
Код: sql
1.
select * from RECORD order by R_DT, R_TAG
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38643842
Alino4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpertAlino4kaМожет какой вариант SQL запроса есть?


Вариант есть 146%. Зависит от того, что именно тебе надо. Вряд ли тебе нужны все 2.7 млн записей.
Ограничивай выборку кляузой WHERE.
У меня есть необходимость в сорте по полю R_TAG, это код, выбрать все записи по этому коду, например 1224621. Поле R_DT, это дата, например 26.10.2010 0:00:00. Так вот мне необходимы данные по коду 1224621 за 26.10.2010. Но вопрос заключается в том что я уже давним давно не писала запросы. Только составляла тех задания. Вот теперь прижала необходимость корректировки. Нашла таблицу где храниться нашла поля которые интересуют. И что-то, как-то зависла.
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38643972
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> У меня есть необходимость в сорте по полю R_TAG, это код, выбрать все записи по этому коду, например 1224621. Поле R_DT, это дата, например 26.10.2010 0:00:00. Так вот мне необходимы данные по коду 1224621 за 26.10.2010.

Достаточно просто перевести на английский. Глубоких знаний не требуется.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38644795
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приведи ddl таблицы (для блондинок скопипастить сюда всю информацию с вкладки "скрипт", она чуть правее на первой картинке), нарисуем запрос.
Alino4kaНашла таблицу где храниться нашла поля которые интересуют.Если пообещаешь подучить хотя бы русский язык.
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38644809
Alino4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_Pisarevsky,
Код: sql
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.
79.
80.
81.
82.
83.
84.
85.
86.
/******************************************************************************/
/***                Generated by IBExpert 19.05.2014 7:58:43                ***/
/******************************************************************************/



/******************************************************************************/
/***                                 Tables                                 ***/
/******************************************************************************/



CREATE TABLE RECORD (
    R_ID    INTEGER NOT NULL,
    R_DT    TIMESTAMP NOT NULL,
    R_MSG   SMALLINT NOT NULL,
    R_H     SMALLINT NOT NULL,
    R_P     INTEGER NOT NULL,
    R_TAG   INTEGER NOT NULL,
    R_MEMO  VARCHAR(255)
);




/******************************************************************************/
/***                              Primary Keys                              ***/
/******************************************************************************/

ALTER TABLE RECORD ADD PRIMARY KEY (R_ID);


/******************************************************************************/
/***                              Foreign Keys                              ***/
/******************************************************************************/

ALTER TABLE RECORD ADD FOREIGN KEY (R_MSG) REFERENCES MESSAGETYPE (MSG_ID);
ALTER TABLE RECORD ADD FOREIGN KEY (R_H) REFERENCES HARDWARE (H_ID);
ALTER TABLE RECORD ADD FOREIGN KEY (R_P) REFERENCES PEOPLE (P_ID);


/******************************************************************************/
/***                                Indices                                 ***/
/******************************************************************************/

CREATE INDEX ASC_RDT_IDX ON RECORD (R_DT);
CREATE INDEX ASC_RTAG_IDX ON RECORD (R_TAG);


/******************************************************************************/
/***                                Triggers                                ***/
/******************************************************************************/


SET TERM ^ ;



/******************************************************************************/
/***                          Triggers for tables                           ***/
/******************************************************************************/



/* Trigger: SET_RECORD_ID */
CREATE OR ALTER TRIGGER SET_RECORD_ID FOR RECORD
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (new.r_id IS NULL) THEN
    new.r_id=gen_id(record_gen,1);
END
^


SET TERM ; ^



/******************************************************************************/
/***                               Privileges                               ***/
/******************************************************************************/


/* Privileges of users */
GRANT ALL ON RECORD TO DALLAS WITH GRANT OPTION;



Надеюсь это то что нужно. Заранее благодарна за Вашу помощь.
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38644910
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select 
    R_ID,
    R_DT,
    R_MSG,
    R_H,
    R_P,
    R_TAG,
    R_MEMO
from record
where r_dt between '26.10.2010 00:00:00' and '26.10.2010 23:59:59'
  and R_TAG = 1224621
order by r_dt


Ф12, копипастишь туда мой пост, Ф9 и вуаля, далее можно менять что-то в запросе по желанию.
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38645004
Alino4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_Pisarevsky,
Огромное спасибо! Это как раз то, что тебе необходимо!
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38645052
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alino4kaЭто как раз то, что тебе необходимо!Как я без этого раньше обходился, ума не приложу!
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38645106
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
Код: sql
1.
where r_dt > '26.10.2010' and r_dt < '27.10.2010'


Так точнее будет.
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38645388
Alino4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_Pisarevsky,

Извините, опечаточка вышла. Мне, мне да в принципе не только мне.
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38645410
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanIvan_Pisarevsky
Код: sql
1.
where r_dt > '26.10.2010' and r_dt < '27.10.2010'



Так точнее будет.да ну? а если в таймштампах хранится только дата, а время 00:00:00, то твое уточнение нихрена не найдет. Ты зуб дашь, что в нарисованной на картниках базе таких данных нет?
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38645429
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alino4ka
Код: sql
1.
2.
3.
CREATE TABLE RECORD (
    R_ID    INTEGER NOT NULL,
    R_DT    TIMESTAMP NOT NULL,


Ivan_Pisarevskyа если в таймштампах хранится только дата, а время 00:00:00, то твое уточнение нихрена не найдет.
"Если" не считается.
Ivan_PisarevskyТы зуб дашь, что в нарисованной на картниках базе таких данных нет?
Каких данных нет? Если там только дата, то странно, что ты секунды приписал.
Ivan_Pisarevsky
Код: sql
1.
where r_dt between '26.10.2010 00:00:00' and '26.10.2010 23:59:59'
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38645433
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman"Если" не считается.
Понял, о чем ты. На это на обратил внимание, т.к. сам на автомате давно так пишу.
Ivan_Pisarevsky
Код: sql
1.
where r_dt >= '26.10.2010' and r_dt < '27.10.2010'
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38645557
Alino4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman, В поле R_DT данные хранятся в формате '26.10.2010 00:00:00'. Эта дата аппаратного прерывания на аппаратуре. Соответственно в данном случае время играет большую роль. И отсутствовать оно просто не может.
...
Рейтинг: 0 / 0
IB Expert работа с большой таблицей
    #38645767
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alino4kaданные хранятся в формате '26.10.2010 00:00:00'.Данные, судя по DDL, хранятся в формате тймштамп, все остальное твои домыслы.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / IB Expert работа с большой таблицей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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