powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Экспорт данных из Mysql в 1 c
25 сообщений из 56, страница 1 из 3
Экспорт данных из Mysql в 1 c
    #39207270
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Я 1с -ник , с субд mysql знаком относительно.
Стоит задача перенести данные из mysql на 1 с.

В 1 с использую код, работая через драйвер

Connection = Новый COMОбъект("ADODB.CONNECTION");
Попытка

Connection.Open("
|DRIVER={MySQL ODBC 5.1 Driver};
|SERVER=******;
|DATABASE=*****;
|UID=*****;
|PWD=******");

Исключение
Сообщить("Ошибка соединения:"+ОписаниеОшибки());
Возврат;
КонецПопытки;

Connection.Execute("Запрос1");

Connection.Execute("Запрос2");

Connection.Execute("Запрос3");

Также имеется база mysql
в ней 2 таблицы
kartab -картотека абонентов 536000 записей
структура таблицы

id int(10) unsigned NO PRI auto_increment
lic_sch varchar(16) NO PRI
fam varchar(64) YES
name varchar(64) YES
otch varchar(64) YES
cod_tn varchar(8) YES
cod_st varchar(8) YES
home varchar(10) YES
kv varchar(10) YES
kom int(5) YES
chlenov int(5) YES
telef varchar(16) YES
cod_kat varchar(16) YES
cod_tpr varchar(16) YES
schlamp int(1) YES
rabot int(1) YES
shifr varchar(15) YES
cod_pd varchar(10) YES
koment varchar(128) YES
plit int(1) YES
yearmon date YES
errsum int(11) YES
errsumn int(11) YES
summa_kn int(11) YES
summa_kc int(11) YES
cod_con varchar(16) YES
srednee int(11) YES
mesyac int(11) YES
date_otkpl date YES
date_otkfk date YES
nomer_tp varchar(16) YES
fider varchar(11) YES
nomer_opor varchar(16) YES
smena varchar(16) YES
data_kon int(11) YES
date_kon date YES
familiya varchar(64) YES
pr_opl varchar(8) YES
akt int(4) YES
cod_pred varchar(8) YES
date_zap date YES
lgota varchar(4) YES
procent varchar(11) YES
date_dog date YES
cod_isp varchar(8) YES
rachpok int(10) YES
pokazanie int(11) YES
dkont decimal(7,2) YES
date_r date YES
date_lgt date YES
reg_nom varchar(16) YES
cod_tp varchar(6) YES
date_pr date YES
priravn int(6) YES
dog varchar(8) YES
penya_t int(11) YES
askue int(1) YES
summa_vd int(16) YES
cod_vid int(4) YES
lg_kvt int(11) YES
errsumv int(11) YES
kvt_mes int(11) YES
summa_mes int(16) YES
old_lgt int(1) YES
deti int(1) YES
pr_erip int(1) YES
cod_alg varchar(11) YES
n_sch varchar(32) YES MUL
cod_tsch varchar(16) YES MUL
fider_code varchar(32) YES
tp_code varchar(32) YES
line_code varchar(32) YES
del int(1) YES
base varchar(16) YES MUL


kartkvgd - оплаты абонентов 12500000 записей

id int(10) unsigned NO PRI auto_increment
lic_sch varchar(16) YES MUL
pachka varchar(10) YES
yearmon date YES MUL
err int(1) YES
errsum int(11) YES
ko int(4) YES
data_old int(11) YES
data_new int(11) YES
razn_kn int(11) YES
razn_kc int(11) YES
kft_kn int(11) YES
kft_kc int(11) YES
tar_kn double(9,2) YES
tar_kc double(9,2) YES
summa_kn int(11) YES
summa_kc int(11) YES
penya_k double(10,2) YES
komiss_k double(10,2) YES
proc int(4) YES
razn_rn int(11) YES
razn_rc int(11) YES
kft_rn double(10,5) YES
kft_rc double(10,5) YES
tar_rn double(10,2) YES
tar_rc double(10,2) YES
summa_rn double(10,2) YES
summa_rc int(16) YES
penya_r double(10,2) YES
date_r date YES MUL
primechanie varchar(64) YES
norma int(11) YES
familiya varchar(64) YES
cod_opl int(8) YES
prpen int(4) YES
date_vd date YES
time_vd varchar(0) YES
reg_nom varchar(64) YES
vyp_doh int(11) YES
no int(11) YES
raznpen int(11) YES
del int(1) YES MUL
base varchar(16) YES MUL


Запросы работают ну очень медленно...что посоветуете спецы

Запросами мне нужно выбрать всех абонентов из картаб с полями lic_sch data_kon date_kon base askue
по этим лицевым счетам выбрать абонентов из картвгд по последней оплате yearmon с полями lic_sch data_new yearmon



Естественно тут пакетами не обойтись.....

Запрос1
Код: sql
1.
2.
3.
4.
5.
6.
 CREATE TEMPORARY TABLE `t1`
select MAX(kartkvgd.yearmon) yearmon,
kartkvgd.lic_sch
from 
kartkvgd
GROUP BY kartkvgd.lic_sch;


Запрос2
Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TEMPORARY TABLE `t2`
select t1.yearmon,
         t1.lic_sch,
        kartkvgd.data_new
from 
t1 left join kartkvgd
on t1.lic_sch=kartkvgd.lic_sch;


Запрос3
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select t2.yearmon,
         t2.lic_sch,
         t2.kartkvgd,
         kartab.lic_sch,
         kartab.data_kon,
         kartab.date_kon,
         kartab.base,
         kartab.askue   
from 
kartab left join t2
on kartab.lic_sch=t2.lic_sch;


Запросы выполняются ну очень медленно
Посоветуйте как оптимизировать ?
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207323
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7как оптимизировать ?
Как минимум - создать необходимые индексы. Вероятно, собрать всё в один запрос. Вероятно - понять, какого хрена надо тянуть весь этот массив данных на клиента.
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207334
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akinaolegon7как оптимизировать ?
Как минимум - создать необходимые индексы. Вероятно, собрать всё в один запрос. Вероятно - понять, какого хрена надо тянуть весь этот массив данных на клиента.

Я за субд не отвечаю
индексы сделаны ....в описании таблиц указано по каким полям...

Вложенные запросы быстрее выполнятся?

Тянуть массив этот надо для последующей его обработки.... уже функциями 1с , создание отчетов и т д.

У меня конкретно по структуре таблиц... как можно оптимизировать
и по моим запросам.
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207393
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaВероятно, собрать всё в один запрос.Вот, да, это просится больше всего.
Сейчас t2 является ведомой таблицей, однако по ней индексов нет. В итоге поиск записи в ней может происходит только полным сканированием таблицы.
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207403
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7индексы сделаны ....в описании таблиц указано по каким полям...Не указано.
Да и вообще это не описание структуры, а хрень собачья.

olegon7Вложенные запросы быстрее выполнятся?
Ну уж во всяком случае не медленнее. Тем более по сравнению с временными таблицами на дисковом движке.

olegon7по структуре таблиц... как можно оптимизировать
Интересно, зачем тебе это? особенно с учётом того, что
olegon7Я за субд не отвечаю
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207476
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olegon7по структуре таблиц... как можно оптимизировать
Интересно, зачем тебе это? особенно с учётом того, что
olegon7Я за субд не отвечаю[/quot]

парень который отвечает за mysql я так понимаю тоже новичок

а решаем общую задачу вот и спрашиваю
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207478
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Akina]olegon7индексы сделаны ....в описании таблиц указано по каким полям...Не указано.
Да и вообще это не описание структуры, а хрень собачья.


Использовал команду
DESCRIBE tablename;
SHOW TABLE STATUS;

для просмотра структуры
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207485
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А надо было SHOW CREATE TABLE. Причём из консоли копипаст сюда. И обернуть тегом SRC=SQL.
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207508
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так нагляднее

Структура Таблицы kartkvgd
fieldtypenullkeydefaultextraidint(10) unsignedNOPRIauto_incrementlic_schvarchar(16)YESMULpachkavarchar(10)YESyearmondateYESMULerrint(1)YESerrsumint(11)YESkoint(4)YESdata_oldint(11)YESdata_newint(11)YESrazn_knint(11)YESrazn_kcint(11)YESkft_knint(11)YESkft_kcint(11)YEStar_kndouble(9,2)YEStar_kcdouble(9,2)YESsumma_knint(11)YESsumma_kcint(11)YESpenya_kdouble(10,2)YESkomiss_kdouble(10,2)YESprocint(4)YESrazn_rnint(11)YESrazn_rcint(11)YESkft_rndouble(10,5)YESkft_rcdouble(10,5)YEStar_rndouble(10,2)YEStar_rcdouble(10,2)YESsumma_rndouble(10,2)YESsumma_rcint(16)YESpenya_rdouble(10,2)YESdate_rdateYESMULprimechanievarchar(64)YESnormaint(11)YESfamiliyavarchar(64)YEScod_oplint(8)YESprpenint(4)YESdate_vddateYEStime_vdvarchar(0)YESreg_nomvarchar(64)YESvyp_dohint(11)YESnoint(11)YESraznpenint(11)YESdelint(1)YESMULbasevarchar(16)YESMUL

Структура Таблицы kartab

fieldtypenullkeydefaultextraidint(10) unsignedNOPRIauto_incrementlic_schvarchar(16)NOPRIfamvarchar(64)YESnamevarchar(64)YESotchvarchar(64)YEScod_tnvarchar(8)YEScod_stvarchar(8)YEShomevarchar(10)YESkvvarchar(10)YESkomint(5)YESchlenovint(5)YEStelefvarchar(16)YEScod_katvarchar(16)YEScod_tprvarchar(16)YESschlampint(1)YESrabotint(1)YESshifrvarchar(15)YEScod_pdvarchar(10)YESkomentvarchar(128)YESplitint(1)YESyearmondateYESerrsumint(11)YESerrsumnint(11)YESsumma_knint(11)YESsumma_kcint(11)YEScod_convarchar(16)YESsredneeint(11)YESmesyacint(11)YESdate_otkpldateYESdate_otkfkdateYESnomer_tpvarchar(16)YESfidervarchar(11)YESnomer_oporvarchar(16)YESsmenavarchar(16)YESdata_konint(11)YESdate_kondateYESfamiliyavarchar(64)YESpr_oplvarchar(8)YESaktint(4)YEScod_predvarchar(8)YESdate_zapdateYESlgotavarchar(4)YESprocentvarchar(11)YESdate_dogdateYEScod_ispvarchar(8)YESrachpokint(10)YESpokazanieint(11)YESdkontdecimal(7,2)YESdate_rdateYESdate_lgtdateYESreg_nomvarchar(16)YEScod_tpvarchar(6)YESdate_prdateYESpriravnint(6)YESdogvarchar(8)YESpenya_tint(11)YESaskueint(1)YESsumma_vdint(16)YEScod_vidint(4)YESlg_kvtint(11)YESerrsumvint(11)YESkvt_mesint(11)YESsumma_mesint(16)YESold_lgtint(1)YESdetiint(1)YESpr_eripint(1)YEScod_algvarchar(11)YESn_schvarchar(32)YESMULcod_tschvarchar(16)YESMULfider_codevarchar(32)YEStp_codevarchar(32)YESline_codevarchar(32)YESdelint(1)YESbasevarchar(16)YESMUL
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207517
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7Так нагляднее
Муж, упорный в своих намерениях? ну тоже позиция, чё...
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207522
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7Так нагляднееПоля-то нагляднее, а вот остальная часть информации так и осталась "за кадром".
В т.ч. индексы, движки таблиц, счетчики автоинкрементов.

Кстати, безотносительно вопроса топика - удивляют старательно расставленные разные числа у типа INT. Хотя они ни на что не влияют, диапазон значений и размер при хранении от этого не меняются.
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207529
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akinaolegon7Так нагляднее
Муж, упорный в своих намерениях? ну тоже позиция, чё...

сейчас , таблица kartab
Код: 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.
kartab	CREATE TABLE `kartab` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `lic_sch` varchar(16) NOT NULL DEFAULT '',
  `fam` varchar(64) DEFAULT NULL,
  `name` varchar(64) DEFAULT NULL,
  `otch` varchar(64) DEFAULT NULL,
  `cod_tn` varchar(8) DEFAULT NULL,
  `cod_st` varchar(8) DEFAULT NULL,
  `home` varchar(10) DEFAULT NULL,
  `kv` varchar(10) DEFAULT NULL,
  `kom` int(5) DEFAULT NULL,
  `chlenov` int(5) DEFAULT NULL,
  `telef` varchar(16) DEFAULT NULL,
  `cod_kat` varchar(16) DEFAULT NULL,
  `cod_tpr` varchar(16) DEFAULT NULL,
  `schlamp` int(1) DEFAULT NULL,
  `rabot` int(1) DEFAULT NULL,
  `shifr` varchar(15) DEFAULT NULL,
  `cod_pd` varchar(10) DEFAULT NULL,
  `koment` varchar(128) DEFAULT NULL,
  `plit` int(1) DEFAULT NULL,
  `yearmon` date DEFAULT NULL,
  `errsum` int(11) DEFAULT NULL,
  `errsumn` int(11) DEFAULT NULL,
  `summa_kn` int(11) DEFAULT NULL,
  `summa_kc` int(11) DEFAULT NULL,
  `cod_con` varchar(16) DEFAULT NULL,
  `srednee` int(11) DEFAULT NULL,
  `mesyac` int(11) DEFAULT NULL,
  `date_otkpl` date DEFAULT NULL,
  `date_otkfk` date DEFAULT NULL,
  `nomer_tp` varchar(16) DEFAULT NULL,
  `fider` varchar(11) DEFAULT NULL,
  `nomer_opor` varchar(16) DEFAULT NULL,
  `smena` varchar(16) DEFAULT NULL,
  `data_kon` int(11) DEFAULT NULL,
  `date_kon` date DEFAULT NULL,
  `familiya` varchar(64) DEFAULT NULL,
  `pr_opl` varchar(8) DEFAULT NULL,
  `akt` int(4) DEFAULT NULL,
  `cod_pred` varchar(8) DEFAULT NULL,
  `date_zap` date DEFAULT NULL,
  `lgota` varchar(4) DEFAULT NULL,
  `procent` varchar(11) DEFAULT NULL,
  `date_dog` date DEFAULT NULL,
  `cod_isp` varchar(8) DEFAULT NULL,
  `rachpok` int(10) DEFAULT NULL,
  `pokazanie` int(11) DEFAULT NULL,
  `dkont` decimal(7,2) DEFAULT NULL,
  `date_r` date DEFAULT NULL,
  `date_lgt` date DEFAULT NULL,
  `reg_nom` varchar(16) DEFAULT NULL,
  `cod_tp` varchar(6) DEFAULT NULL,
  `date_pr` date DEFAULT NULL,
  `priravn` int(6) DEFAULT NULL,
  `dog` varchar(8) DEFAULT NULL,
  `penya_t` int(11) DEFAULT NULL,
  `askue` int(1) DEFAULT NULL,
  `summa_vd` int(16) DEFAULT NULL,
  `cod_vid` int(4) DEFAULT NULL,
  `lg_kvt` int(11) DEFAULT NULL,
  `errsumv` int(11) DEFAULT NULL,
  `kvt_mes` int(11) DEFAULT NULL,
  `summa_mes` int(16) DEFAULT NULL,
  `old_lgt` int(1) DEFAULT NULL,
  `deti` int(1) DEFAULT NULL,
  `pr_erip` int(1) DEFAULT NULL,
  `cod_alg` varchar(11) DEFAULT NULL,
  `n_sch` varchar(32) DEFAULT NULL,
  `cod_tsch` varchar(16) DEFAULT NULL,
  `fider_code` varchar(32) DEFAULT NULL,
  `tp_code` varchar(32) DEFAULT NULL,
  `line_code` varchar(32) DEFAULT NULL,
  `del` int(1) DEFAULT NULL,
  `base` varchar(16) DEFAULT NULL,
  PRIMARY KEY (`id`,`lic_sch`),
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `lic_sch` (`lic_sch`) USING BTREE,
  KEY `base` (`base`),
  KEY `n_tsch` (`n_sch`),
  KEY `cod_tsch` (`cod_tsch`)
) ENGINE=MyISAM AUTO_INCREMENT=536243 DEFAULT CHARSET=utf8



сейчас , таблица kartkvgd
Код: 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.
kartkvgd	CREATE TABLE `kartkvgd` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `lic_sch` varchar(16) DEFAULT NULL,
  `pachka` varchar(10) DEFAULT NULL,
  `yearmon` date DEFAULT NULL,
  `err` int(1) DEFAULT NULL,
  `errsum` int(11) DEFAULT NULL,
  `ko` int(4) DEFAULT NULL,
  `data_old` int(11) DEFAULT NULL,
  `data_new` int(11) DEFAULT NULL,
  `razn_kn` int(11) DEFAULT NULL,
  `razn_kc` int(11) DEFAULT NULL,
  `kft_kn` int(11) DEFAULT NULL,
  `kft_kc` int(11) DEFAULT NULL,
  `tar_kn` double(9,2) DEFAULT NULL,
  `tar_kc` double(9,2) DEFAULT NULL,
  `summa_kn` int(11) DEFAULT NULL,
  `summa_kc` int(11) DEFAULT NULL,
  `penya_k` double(10,2) DEFAULT NULL,
  `komiss_k` double(10,2) DEFAULT NULL,
  `proc` int(4) DEFAULT NULL,
  `razn_rn` int(11) DEFAULT NULL,
  `razn_rc` int(11) DEFAULT NULL,
  `kft_rn` double(10,5) DEFAULT NULL,
  `kft_rc` double(10,5) DEFAULT NULL,
  `tar_rn` double(10,2) DEFAULT NULL,
  `tar_rc` double(10,2) DEFAULT NULL,
  `summa_rn` double(10,2) DEFAULT NULL,
  `summa_rc` int(16) DEFAULT NULL,
  `penya_r` double(10,2) DEFAULT NULL,
  `date_r` date DEFAULT NULL,
  `primechanie` varchar(64) DEFAULT NULL,
  `norma` int(11) DEFAULT NULL,
  `familiya` varchar(64) DEFAULT NULL,
  `cod_opl` int(8) DEFAULT NULL,
  `prpen` int(4) DEFAULT NULL,
  `date_vd` date DEFAULT NULL,
  `time_vd` varchar(0) DEFAULT NULL,
  `reg_nom` varchar(64) DEFAULT NULL,
  `vyp_doh` int(11) DEFAULT NULL,
  `no` int(11) DEFAULT NULL,
  `raznpen` int(11) DEFAULT NULL,
  `del` int(1) DEFAULT NULL,
  `base` varchar(16) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`),
  KEY `lic_sch` (`lic_sch`),
  KEY `base` (`base`),
  KEY `date_r` (`date_r`),
  KEY `del` (`del`) USING BTREE,
  KEY `yearmon` (`yearmon`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=29872212 DEFAULT CHARSET=utf8
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207532
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
запрос3
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select t2.yearmon,
t2.lic_sch,
t2.data_new,
kartab.lic_sch,
kartab.data_kon,
kartab.date_kon,
kartab.base,
kartab.askue 
from 
kartab left join t2
on kartab.lic_sch=t2.lic_sch


опечатался
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207542
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7
Код: sql
1.
2.
3.
4.
5.
6.
CREATE TABLE `kartab` (
-- skipped
  PRIMARY KEY (`id`,`lic_sch`),
  UNIQUE KEY `id` (`id`),
  UNIQUE KEY `lic_sch` (`lic_sch`) USING BTREE,
-- skipped


Код: sql
1.
2.
3.
4.
5.
CREATE TABLE `kartkvgd` (
-- skipped
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`),
-- skipped


Мда-с... гениальненько... ну да хрен с им.

На описанной структуре по запросам:
Во втором запросе заменить левое связывание на внутреннее.
Объединить все запросы в один.

И сильно подумать - зачем данные разных уровней группировки получать в одном наборе записей. Скорее всего, более целесообразно получить от сервера два набора - отдельно MAX(kartkvgd.yearmon) и kartkvgd.lic_sch, отдельно всё остальное.

И ещё более сильно подумать на предмет того, какой смысл волочь в 1С все 12кк записей для обработки, когда можно их обработать на MySQL и выдать в 1С уже обобщённые данные.
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207560
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
первый запрос
возвращает всех абонентов(лицевые счета) с максимальной датой оплаты.
еще забыл надо вставить условие del=0
т.е . неудаленные записи
Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TEMPORARY TABLE `t1`
select MAX(kartkvgd.yearmon) yearmon,
kartkvgd.lic_sch
from 
kartkvgd
GROUP BY kartkvgd.lic_sch
where del=0;


почему во втором запросе нужно испольльзовать внутреннее?
мне ведь нужны все лицевые счета из первого запроса

Получился вот такой запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
select t2.yearmon,
t2.lic_sch,
t2.data_new,
kartab.lic_sch,
kartab.data_kon,
kartab.date_kon,
kartab.base,
kartab.askue 
from 
kartab left join (select t1.yearmon,
t1.lic_sch,
kartkvgd.data_new
from 
(select MAX(kartkvgd.yearmon) yearmon,
kartkvgd.lic_sch
from 
kartkvgd
GROUP BY kartkvgd.lic_sch
where kartkvgd.del=0) t1 left join kartkvgd
on t1.lic_sch=kartkvgd.lic_sch) t2
on kartab.lic_sch=t2.lic_sch
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207581
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[/src][/quot]


И ещё более сильно подумать на предмет того, какой смысл волочь в 1С все 12кк записей для обработки, когда можно их обработать на MySQL и выдать в 1С уже обобщённые данные.[/quot]

Смысл в чем, раз в месяц я получаю данные из mysql
записываю себе в 1 с
делаю всевозможные проверки....
еще один источник данных - это сторонний http сервис - оттуда я тоже буду получать данные и клеить с полученными из mysql...
делаю всевозможные отчеты для анализа данных..
делаю приложение , которое доступно всем пользователям в том числе через web интерфейс
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207604
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема осталась
запрос больше часа выполняется...
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207614
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7почему во втором запросе нужно использовать внутреннее?
НУ сам подумай. Есть таблица. Ты из неё отобрал часть записей. Может ли в отобранной части присутствовать запись, отсутствующая в исходной таблице?
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207624
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

ты прав

но запрос все равно долго выполняется

может надо в структуре что-то поменять
ничего что поле lic_sch строка и по ней индекс ?
а это поле участвует у меня в соединениях?
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207626
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос такой получился

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
select t2.yearmon,
t2.lic_sch,
t2.data_new,
kartab.lic_sch,
kartab.data_kon,
kartab.date_kon,
kartab.base,
kartab.askue 
from 
kartab left join (select t1.yearmon,
t1.lic_sch,
kartkvgd.data_new
from 
(select MAX(kartkvgd.yearmon) yearmon,
kartkvgd.lic_sch
from 
kartkvgd
where kartkvgd.del=0
GROUP BY kartkvgd.lic_sch) t1 INNER JOIN kartkvgd
on t1.lic_sch=kartkvgd.lic_sch) t2
on kartab.lic_sch=t2.lic_sch
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207645
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7ничего что поле lic_sch строка и по ней индекс ?
а это поле участвует у меня в соединениях?
Без индекса было бы совсем тухло.

olegon7может надо в структуре что-то поменять
Ну вообще-то надо. Даже без комментариев, в каком поле что хранится, ясно, что "архитектор" этой БД даже не слышал о существовании нормальных форм.
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207722
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

если создать таблицу лицевые счета

содержащая поля

lic_sch(строка) и id_lic_sch (число)


а в таблицы kartab и kartkvgd добавить поле id_lic_sch ?

запрос быстрее выполнятся будет?
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207728
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olegon7Akina,

если создать таблицу лицевые счета

содержащая поля

lic_sch(строка) и id_lic_sch (число)


а в таблицы kartab и kartkvgd добавить поле id_lic_sch ?

запрос быстрее выполнятся будет?

и проиндексировать по id_lic_sch
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39207779
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegon7запрос быстрее выполнятся будет?
Ненамного.
...
Рейтинг: 0 / 0
Экспорт данных из Mysql в 1 c
    #39208010
olegon7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итоговый запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
select t2.yearmon,
t2.lic_sch,
t2.data_new,
kartab.lic_sch,
kartab.data_kon,
kartab.date_kon,
kartab.base,
kartab.askue 
from 
kartab left join (select t1.yearmon,
t1.lic_sch,
kartkvgd.data_new
from 
(select MAX(kartkvgd.yearmon) yearmon,
kartkvgd.lic_sch
from 
kartkvgd
where kartkvgd.del=0
GROUP BY kartkvgd.lic_sch) t1 inner join kartkvgd
on t1.lic_sch=kartkvgd.lic_sch) t2
on kartab.lic_sch=t2.lic_sch
where kartab.del=0



оставил запрос на выполнение вернул ошибку [Err] 1317 - Query execution was interrupted
...
Рейтинг: 0 / 0
25 сообщений из 56, страница 1 из 3
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Экспорт данных из Mysql в 1 c
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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