November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags

August 16th, 2014

dil: (Default)
Saturday, August 16th, 2014 12:17 pm

В одной базе данных есть две таблицы, связанные отношением 1:M. Скажем, в одной лежат посты из блога, а в другой комментарии, привязанные к постам по id.
Задача: перетащить их все в другую базу, в которой идентификаторы у постов изменятся (потому что там уже есть другие посты с теми же id, что в первой базе), но при этом сохранить привязку к ним комментариев.

С постами понятно, SELECT из первой базы и INSERT во вторую.

А вот как быть с комментариями?
Мне пока пришли в голову три идеи, но все неэффективные.

1) Для каждого поста сразу после помещения его во вторую базу, когда уже известны и старый, и новый id, найти в первой базе все комментарии по старому id и сложить их во вторую базу с новым id. Но это отдельный SQL-запрос на каждый пост, а их там дофига.

2) Сначала перенести все посты, попутно составляя табличку со старыми и новыми id, а потом переносить комментарии, заменяя id постов по этой табличке. Но если табличку держать в памяти, она получится очень нефигового размера. А в базах её создавать нельзя, правов не хватает.

3) Извлечь вместе с постами сразу все их комментарии путём LEFT OUTER JOIN. Но тогда каждый пост извлечётся целиком много раз, с каждым своим комментарием, это дикий перерасход памяти в SQL-сервере.

Как бы это сделать поэффективнее?

Оригинал этой записи в личном блоге.

dil: (Default)
Saturday, August 16th, 2014 01:19 pm

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

Но вот откуда взялась эта жизнь изначально? В случайное возникновение белков в первобытном океане из неорганических составляющих я ещё как-то могу поверить, но вот в образование из этих белков организмов, хотя бы и примитивных, но способных к размножению, — уже никак.

И тем более не верю в самостоятельное появление генетического кода, позволяющего в единственной молекуле ДНК хранить информацию о структуре и методике развития и поддержания в рабочем состоянии большого и сложного организма с огромным разнообразием типов клеток. Слишком уж оно сложно, чтоб случайно образоваться и сохраниться.

“А вот эту хромосому надо бы выкинуть нахрен. –Архангел Гавриил”
Архангел – не архангел, но очень похоже, что жизнь на Земле была создана искусственно. В человеческом организме, например, есть куча нелогичностей, которые за миллионы лет эволюции должны были исчезнуть просто за ненадобностью. А так похоже, что его собирал из конструктора студент-троечник.

Оригинал этой записи в личном блоге.

dil: (Default)
Saturday, August 16th, 2014 04:01 pm

В продолжение предыдущего поста..
Людям со слабой психикой под кат заходить не советую, это может отравить вам жизнь.

Read the rest of this entry » )

Оригинал этой записи в личном блоге.

dil: (Default)
Saturday, August 16th, 2014 07:25 pm

Интересное наблюдение: в линуксе фаервол ставят чтобы не впускать никого внутрь, а в винде – чтобы не выпускать наружу!
http://ibash.org.ru/quote.php?id=6384

А ведь в натуре так оно и есть..

Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.