sqlite: объединение двух таблиц по общему ключу - PullRequest
0 голосов
/ 05 июля 2011

Простой sqlite-запрос выполняется невероятно медленно, и я не знаю почему. У меня есть две таблицы A и B, они имеют одинаковые первичные ключи и разные столбцы. Я хочу создать таблицу C, которая имеет первичный ключ плюс все столбцы в A и все столбцы в B. Я запускаю это через курсор соединения Python cs.

   cs.execute('create table tableC as select a.*, b.*
   from tableA a left join tableB b
   on a.rid = b.id')

левое соединение в порядке, так как две таблицы имеют одинаковое количество строк. вместо того, чтобы записывать все имена столбцов в одной из таблиц, я позволил дублировать столбец id.

каждая таблица имеет 50 000 строк и около 200 столбцов.

есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 03 апреля 2012

Вы можете создать представление , которое будет живым изображением двух таблиц, но будет выглядеть как новая таблица. Это не будет быстрее, чем выбор без представления.

Если вам нужно конвертировать один выстрел (или обновить при необходимости, может быть, даже с помощью триггера), вы можете увидеть этот ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...