Доброго времени суток. Подскажите пожалуйста, можно ли в сформировать запрос в таком виде, чтобы обращение было сразу к 3 таблицам и вытащить с них записи с уникальными значения в столбце surname ?
Есть 3 таблицы, у них одинаковые названия столбцов, но данные соот-но разные. Мне нужно взять из этих трех таблиц все записи с уникальными значениями столбца surname. Можно ли сделать это одним запросом сразу ? И как это сделать правильнее с точки зрения оптимизации ? Заранее благодарю вас за помощь.
ChairfaceChippendale, вот это я понимаю, возражение. четкое и аргументированное. правда непонятно, с какой стати к партиционированной таблице понадобится три запроса вместо одного. Ну и второй простой пример, где таблица с тем же набором полей хранит "ещё что-нибудь" выглядит тоже весьма, весьма убедительно.
То есть один пример неграмотный, а второй даже недовысосан из пальца. Но зато мы сказали своё веское слово.
ChairfaceChippendale, я вам объясню как сделать правильно: не лезть со своим советом куда не просят.
автор что-то говорил про "логи изменения фамилии"? Автор говорил что он хранит что-то там ещё? Нет.
Значит и не надо выдумывать это из головы. Богатая фантазия? В сексе проявляйте. Там это будет уместно.
Если человек не слышал про юнион, то значит он только вчера от мамкиной сиськи, и базу данных видит впервые в жизни. А из всех структур данных знает только классный журнал с фамилиями учеников в столбик. И всё что надо - это сказать ему, как делается правильно по умолчанию.
И красивые слова, типа "партиции", надо говорить только тогда, когда вы действительно понимаете, что они значат, а не когда вы только краем уха слышали как большие пацаны про это говорили.
CREATE TABLE sales (
order_date DATETIME NOT NULL
) ENGINE=InnoDB PARTITION BY RANGE(YEAR(order_date)) (
PARTITION p_2010 VALUES LESS THAN (2010),
PARTITION p_2011 VALUES LESS THAN (2011),
PARTITION p_2012 VALUES LESS THAN (2012),
PARTITION p_catchall VALUES LESS THAN MAXVALUE );
insert into sales values ('2000-01-01'),('2001-01-01'),('2010-01-01'),('2011-01-01'),('2012-01-01'),('2013-01-01');
два вопроса:
сколько понадобится запросов, чтобы выбрать записи из всех партиций?
кто здесь бездарь?
ChairfaceChippendale, не знаю, наверное нет, не способен
но вот разговаривать в таком тоне, обсуждая наковырянные из носа бессмысленные "кейсы" - однозначно нет.
я кратко повторю аргументацию, и на этом закончу
если бы у него были партиции, то и вопроса бы не возникло - у него и так уже был бы один запрос
второй кейс даже недовысосан из пальца
третий, второпях дописанный кейс, такой же смешной как первые два. Одна из носительниц surname выходит замуж...
но главное, сам по себе разговор с ужом на сковородке заведомо не имеет смысла. эта музыка будет вечной, если её не выключить
так что можете быть свободны :)