|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Доброе время суток. Подскажите пожалуйста, пишу информационный портал для предприятия, это мой первый такого рода проект, пишу на mysql, объем данных предполагается обрабатывать большой, к примеру если брать самую большую таблицу, то там будет несколько сот миллионов записей в год. Почитав отзывы специалистов, пришел к выводу, что mysql не рассчитан на работу с таким объемом. Решил перейти на msSQL Express Edition пока не запустил проект в продакшн. Вопрос, верны мои доводы? и на сколько сильно отличается синтаксис запросов mysql с mssql? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 08:34 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
darlovПочитав отзывы специалистов, пришел к выводу, что mysql не рассчитан на работу с таким объемом. Попробуйте почитать отзывы не только специалистов, которые полагают, что MySQL не предназначен для таких объёмов, но и тех. кто полагает, что для MySQL это фигня, а не объёмы... darlovРешил перейти на msSQL Express Edition Чёблин? то есть экспресс-версия, кастрированная поделка для локальных моделирований, будет по-твоему более адаптирована к экстремальным нагрузкам, чем полнофункциональный, пусть и свобонораспространяемый, сервер? ну-ну... darlovна сколько сильно отличается синтаксис запросов mysql с mssql? Охренительно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 09:10 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Akina, вы меня немного успокоили. Назрел вопрос, в чем преимущества mssql от mysql, откинув версию Express Edition. За что люди платят деньги? Читал что в mssql много инструментов создано и что много уже подготовлено для разработчика в создании различных идей. А в mysql нужно создавать все самому. Если все это откинуть и сравнивать только скорость запросов, объемы и типы хранение данных. Как с эти обстоят дела? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 09:22 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Различия между MS SQL и MySQL - я лично описывать его не возьмусь. Да и отличия MS SQL от MS SQL Express тоже - впрочем, вот это есть на сайте производителя. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 09:58 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
darlov, а почему именно мсскл, а не оракл? :) а в сторону постгреса вы вообще не смотрели? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 10:07 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Я выбираю из Free SQL,в сторону postgresql тоже смотрю. Никогда не работал на mssql и oracle т.к. они стоят уйму денег, и мне просто интересно за что конкретно платятся такие деньги? Если откинуть все доп инструменты для облегчения разработки БД, а взять просто скорость запросов и хранения данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 10:13 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
darlovПочитав отзывы специалистов, пришел к выводу, что mysql не рассчитан на работу с таким объемом.Не "не рассчитан", а редко используется для работы с такими объемами. Поэтому и специалистов мало, которые умеют готовить такие объемы в MySQL. darlovРешил перейти на msSQL Express Edition пока не запустил проект в продакшн. Вопрос, верны мои доводы? и на сколько сильно отличается синтаксис запросов mysql с mssql?У MS SQL XE есть технические ограничения на объем данных. Ознакомьтесь с ними. Точных значений я не помню, но сомневаюсь, что ваши объемы впишутся в эти ограничения. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 10:15 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
darlovНикогда не работал на mssql и oracle т.к. они стоят уйму денег, и мне просто интересно за что конкретно платятся такие деньги? Если откинуть все доп инструменты для облегчения разработки БД, а взять просто скорость запросов и хранения данных.Не существует абстрактной скорости запросов. У всех СУБД что-то работает быстрее, что-то медленнее. "Самой быстрой СУБД" не существует. Поскольку тема разрослась вширь, топик переношу. Модератор: Тема перенесена из форума "MySQL". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 10:18 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
miksoftУ MS SQL XE есть технические ограничения на объем данных. Ознакомьтесь с ними. Точных значений я не помню, но сомневаюсь, что ваши объемы впишутся в эти ограничения. 10 Гб на БД Возможности, поддерживаемые различными выпусками SQL Server 2012 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 10:22 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
деньги платят за качество, за оптимизатор, за возможность работы под многопользовательской нагрузкой, за поддержку и развитие и за много чего, чего напрямую не измеришь и в табличку фич не сведешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 10:32 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
darlovесли брать самую большую таблицу, то там будет несколько сот миллионов записей в год. qwerty11210 Гб на БДслабо согласуется, учитывая, что такая таблица скорее всего не одна ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 10:58 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
tanglirdarlovесли брать самую большую таблицу, то там будет несколько сот миллионов записей в год. qwerty11210 Гб на БДслабо согласуется, учитывая, что такая таблица скорее всего не одна Ну да, msSQL Express Edition мне не подходит, буду смотреть в сторону PostgreSQL. Как описывают ее, что он более приспособлена к хранению большого объема данных чем mysql, и производительность выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 11:03 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 12:16 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Andrey Sribnyak http://blogs.msdn.com/b/alexejs/archive/2009/06/17/mysql-sql-express-i-odbc.aspx чего-то там с картинками проблемы (хотя может и у меня) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 14:53 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
tanglirdarlovесли брать самую большую таблицу, то там будет несколько сот миллионов записей в год. qwerty11210 Гб на БДслабо согласуется, учитывая, что такая таблица скорее всего не одна Но никто ограничивает ТС только одной бд, размером до 10 Гб. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 15:04 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinНо никто ограничивает ТС только одной бд, размером до 10 Гб. читать как pkarklinНо никто не ограничивает ТС только одной бд, размером до 10 Гб. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 15:05 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Если уж так сильно хочет "солидной большой тройки", то DB2 ExpressC ограничена 15 терабайтами, двумя ядрами и четырьмя гигабайтами. Уж всяко лучше, чем пилить базы и дрожать - ещё влезает или уже нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 18:24 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Basil A. SidorovЕсли уж так сильно хочет "солидной большой тройки", то DB2 ExpressC ограничена 15 терабайтами , двумя ядрами и четырьмя гигабайтами. А почему не 13тью или 17тью? Я еще могу предположить корреляцию 10к1му в части "активных данных" от общего размера бд, которые могут быть помещены в буферный пул, но чтоб 15 000 к 4м... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2013, 22:38 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
darlovРешил перейти на msSQL Express Edition пока не запустил проект в продакшн. Вопрос, верны мои доводы? и на сколько сильно отличается синтаксис запросов mysql с mssql? Не верны. Если нет денег, то выбирать можно, например, м/у MySQL и PostgreSQL. У каждой БД есть свои плюсы и минусы. Мне PG нравиться больше, но для MySQL готовых решений больше. Так что не задумывайтесь используйте MySQL... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2013, 11:45 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinА почему не 13тью или 17тью?А почему вы задаёте этот вопрос мне, а не IBM? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2013, 19:36 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Basil A. SidorovА почему вы задаёте этот вопрос мне, а не IBM? Потому что Вы привели эту цифру в этом обсуждении, а не IBM. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2013, 19:58 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Если автор хочет сэкономить денег на лицензии, то конечно пусть берет MySQL (а еще лучше форк типа MariaDB ), PostgreSQL или например Cubrid . А если еще хочет чтобы это было не OpenSource то велком на бесплатные версии DB2 Express-C (никаких ограничений на размер базы, уже 16Gb ОЗУ и 2 ядра), либо Informix Innovator-C (примерно аналогичные ограничения). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 12:30 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinПотому что Вы привели эту цифру в этом обсуждении, а не IBM.Я озвучил текущие ограничения. В предыдущих версиях ограничения на размер базы ExpressC вообще не было. Тоже предложите мне объяснить, почему IBM только сейчас заморочилась ограничением размера базы для бесплатной редакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 18:13 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Basil A. SidorovЯ озвучил текущие ограничения. В предыдущих версиях ограничения на размер базы ExpressC вообще не было. Тоже предложите мне объяснить, почему IBM только сейчас заморочилась ограничением размера базы для бесплатной редакции? Здесь, как бы дискуссионная площадка. Ваше бы мнение могло бы быть интересным. Например, будет ли кто-нибудь держать 15ти терабайтную базу на бесплатной редакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 18:16 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinНапример, будет ли кто-нибудь держать 15ти терабайтную базу на бесплатной редакции?Вот как раз сегодня я забыл пятнадцать терабайт в других брюках. Гораздо интереснее другой вопрос: "Что делать, если база ещё не доросла до терабайта, но уже переросла одиннадцать гигабайт?" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 18:22 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Basil A. SidorovГораздо интереснее другой вопрос: "Что делать, если база ещё не доросла до терабайта, но уже переросла одиннадцать гигабайт?" Использовать платные версии. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 18:34 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinИспользовать платные версии.У вас такой дар - говорить неочевидные банальности? P.S. Если разработка начинается на бесплатной версии, то гораздо более разумным выглядит выбор бесплатной СУБД с "более правильными ограничениями" или вообще без оных. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 18:54 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Basil A. SidorovЕсли разработка начинается на бесплатной версии, то гораздо более разумным выглядит выбор бесплатной СУБД с "более правильными ограничениями" или вообще без оных. Да, да, да... Разрабатывали по DB2 Express, а выбрали PG? Чудно у Вас получается... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 19:29 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinДа, да, да... Разрабатывали по DB2 Express, а выбрали PG? А почему бы и нет? Современные "программисты" всё равно использую ADO и прочие универсальные обёртки, так что остаётся только подточить запросы и сменить строку подключения. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 19:44 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА почему бы и нет? Современные "программисты" всё равно использую ADO и прочие универсальные обёртки, так что остаётся только подточить запросы и сменить строку подключения. Боже упаси от таких "программистов" и от их поделок. ЗЫ. Да и подтачивать, порой, придется сильно. Подточите, например T-SQLские TOP(N) и UPDATE ... FROM ... под, скажем, Oracle. А если еще запросы зашиты в клиента\апп. сервер, то это совсем мама дорогая.... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 19:50 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinT-SQLские TOP(N) и UPDATE ... FROM ... Упаси боже от идиотов, использующих такие кривоконструкции вообще. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 19:55 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovpkarklinT-SQLские TOP(N) и UPDATE ... FROM ... Упаси боже от идиотов, использующих такие кривоконструкции вообще. Дмитрий, слишком толсто. Многие СУБД сейчас поддерживают следующий синтаксис Код: sql 1. 2.
из ANSI/ISO SQL:2008? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:04 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinМногие СУБД сейчас поддерживают следующий синтаксис из ANSI/ISO SQL:2008? Я знаю ровно две. Но даже если идиотизм занесён в стандарт это его не уменьшает. Эта конструкция всего лишь прогиб под тех, кто не в силах сформулировать вменяемые условия во WHERE. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:09 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНо даже если идиотизм занесён в стандарт это его не уменьшает. Дмитрий, Вы как всегда, бесподобны. Dimitry SibiryakovЭта конструкция всего лишь прогиб под тех, кто не в силах сформулировать вменяемые условия во WHERE. Приведите пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:18 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinПриведите пример. Типичный пример использования это фигни - разнообразные "ТОП 10". "Десять человек с наибольшей зарплатой в отделе". Говнокодеры просто неспособны взять первые 10 записей из резалт-сета, поэтому сваливают проблему со своей головы на здоровую. Говнозаказчики не в состоянии сформулировать хотелку "люди с зарплатой выше средней". В морг. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:27 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovТипичный пример использования это фигни - разнообразные "ТОП 10". "Десять человек с наибольшей зарплатой в отделе". Говнокодеры просто неспособны взять первые 10 записей из резалт-сета, поэтому сваливают проблему со своей головы на здоровую. Говнозаказчики не в состоянии сформулировать хотелку "люди с зарплатой выше средней". В морг. Покажите, что вы не говнокодер! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:28 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, И да, иногда, за поучение "бизнеса", чему его формулировать неговнокодеры получают пинком под зад. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:29 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinПокажите, что вы не говнокодер! Показать как ограничить фетч записей на клиента? Вы сами неспособны придумать способ вызова функции fetch() только нужное число раз?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:31 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinИ да, иногда, за поучение "бизнеса", чему его формулировать неговнокодеры получают пинком под зад. Гораздо чаще неговнокодеры просто держатся от такого "бизнеса" подальше. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:35 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovpkarklinПокажите, что вы не говнокодер! Показать как ограничить фетч записей на клиента? Вы сами неспособны придумать способ вызова функции fetch() только нужное число раз?..А если это не фетч, а подзапрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:36 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
miksoftА если это не фетч, а подзапрос? А осмысленный пример привести?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:37 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПоказать как ограничить фетч записей на клиента? Вы сами неспособны придумать способ вызова функции fetch() только нужное число раз?.. Нет, у меня "ума не хватит" додуматься до того, чтобы заставить сервер сформировать многомиллионный резалтсет, а потом ограничить феч записей на клиенте. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:38 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinу меня "ума не хватит" додуматься до того, чтобы заставить сервер сформировать многомиллионный резалтсет, а потом ограничить феч записей на клиенте. Ну так я Вам открою маленький секрет: резалтсет в этом случае и не формируется целиком, только те записи, которые действительно клиентом запрошены. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:42 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovmiksoftА если это не фетч, а подзапрос? А осмысленный пример привести?..Взять топ-100 наиболее прибыльных товаров и приджойнить кучу справочных таблиц. Кстати, ряд СУБД (как минимум, Оракл и MySQL) имеют специальные оптимизации при выполнении ограниченных (топ-N) выборок и отказываться от них было бы странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:43 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovpkarklinу меня "ума не хватит" додуматься до того, чтобы заставить сервер сформировать многомиллионный резалтсет, а потом ограничить феч записей на клиенте. Ну так я Вам открою маленький секрет: резалтсет в этом случае и не формируется целиком, только те записи, которые действительно клиентом запрошены.Зависит от запроса, бывает и что формируется. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:44 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
miksoftВзять топ-100 наиболее прибыльных товаров и приджойнить кучу справочных таблиц. А теперь внимание, вопрос: почему именно 100, а не 99 или 101? Какой критрий использовался при выборе этой цифры? miksoftбывает и что формируется. В этом случае он и при использовании ROWS сформируется и никакая оптимизация это не предотвратит. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:46 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА осмысленный пример привести?.. Легко... Есть объект со схемой состояний. В определенное состояние объект может переходить несколько раз. Нужно получить все атрибуты объекта (для списка ID) и его первый момент (Moment) перехода в определенное состояние (DstStateTransitID). Три таблицы: Object, Event и EventStateTransit. Moment в Event, DstStateTransitID в EventStateTransit. Связь таблиц, надеюсь интуитивно понятна. В Object 800 млн. записей, в Event и EventStateTransit далеко за миллиард. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:47 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНу так я Вам открою маленький секрет: резалтсет в этом случае и не формируется целиком, только те записи, которые действительно клиентом запрошены. Каким это таким магическим образом сервер определил, что запросил клиент, пока клиент не сделал феч или не сказал стоп? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:52 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА теперь внимание, вопрос: почему именно 100, а не 99 или 101? Какой критрий использовался при выборе этой цифры? CEO ввел его в качестве параметра при формирования отчета. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:54 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovmiksoftВзять топ-100 наиболее прибыльных товаров и приджойнить кучу справочных таблиц. А теперь внимание, вопрос: почему именно 100, а не 99 или 101? Какой критрий использовался при выборе этой цифры? ТОП 100, для Форбс, формируем, например, устроит ? какое тут WHERE можно сформировать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:56 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinСвязь таблиц, надеюсь интуитивно понятна. Ну, о связи я, предположим, догадаюсь. А вот с какого перепою "DstStateTransitID в EventStateTransit" и в какое место тут можно воткнуть подзапрос - ни за что. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 20:57 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovmiksoftА если это не фетч, а подзапрос? А осмысленный пример привести?.. попроще пример: выбрать форумы, в которых находятся 100 тем, с макс.кол-вом просмотров ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:00 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Форбскакое тут WHERE можно сформировать ? Тут нужен вообще-то ORDER BY... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:03 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovpkarklinу меня "ума не хватит" додуматься до того, чтобы заставить сервер сформировать многомиллионный резалтсет, а потом ограничить феч записей на клиенте. Ну так я Вам открою маленький секрет: резалтсет в этом случае и не формируется целиком, только те записи, которые действительно клиентом запрошены. "пользователи" АДО.НЕТ - рыдают от зависти ... ! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:04 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА вот с какого перепою "DstStateTransitID в EventStateTransit" Ибо не все события для объекта являются событиями перехода из одного состояния в другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:04 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovФорбскакое тут WHERE можно сформировать ? Тут нужен вообще-то ORDER BY... ай бросьте! зачем нам ORDER BY ! "трясьти надо!" WHERE же ! :)) Dimitry SibiryakovpkarklinМногие СУБД сейчас поддерживают следующий синтаксис из ANSI/ISO SQL:2008? Я знаю ровно две. Но даже если идиотизм занесён в стандарт это его не уменьшает. Эта конструкция всего лишь прогиб под тех, кто не в силах сформулировать вменяемые условия во WHERE. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:06 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovmiksoftВзять топ-100 наиболее прибыльных товаров и приджойнить кучу справочных таблиц. А теперь внимание, вопрос: почему именно 100, а не 99 или 101? Какой критрий использовался при выборе этой цифры?По массе нетехнических причин. Круглые числа легче воспринимаются психилогически. Или по техническим причинам, но напрямую не связанным с БД. Например, 100 строчек влезает на лист бумаги. Или в рекламной брошюре места только на 100 товаров. Dimitry Sibiryakovmiksoftбывает и что формируется. В этом случае он и при использовании ROWS сформируется и никакая оптимизация это не предотвратит.Но одно дело сформируется на миллионы записей и совсем другое - на сотню. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:15 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinИбо не все события для объекта являются событиями перехода из одного состояния в другое. А нуль-переход у вас за переход уже не считается... Но это не отвечает на вопрос в каком месте тут нужен подзапрос. Даже со всеми возможными извратами тут в лучшем случае можно задействовать derived table. Это если оконные функции не справятся. ФорбсWHERE же ! :)) WHERE, повторяю, для тех, кто способен выбранный критерий обосновать чем-то иным нежели чесанием левой пятки СЕО. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:16 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
miksoftНо одно дело сформируется на миллионы записей и совсем другое - на сотню. Не бывает в природе. Кляуза ROWS чисто технически абсолютно эквивалентна ограниченному фетчу. Так что и формирование базового резалт-сета в точности одинаково. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:19 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovmiksoftНо одно дело сформируется на миллионы записей и совсем другое - на сотню. Не бывает в природе. Кляуза ROWS чисто технически абсолютно эквивалентна ограниченному фетчу. Так что и формирование базового резалт-сета в точности одинаково. http://dev.mysql.com/doc/refman/5.5/en/limit-optimization.html If you use LIMIT row_count with ORDER BY, MySQL ends the sorting as soon as it has found the first row_count rows of the sorted result, rather than sorting the entire result. If ordering is done by using an index, this is very fast. If a filesort must be done, all rows that match the query without the LIMIT clause are selected, and most or all of them are sorted, before the first row_count are found. After the initial rows have been found, MySQL does not sort any remainder of the result set. У Оракла есть аналогичная оптимизация, доку, надеюсь, найдете самостоятельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:24 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
miksoftIf you use LIMIT row_count with ORDER BY, MySQL ends the sorting as soon as it has found the first row_count rows of the sorted result, rather than sorting the entire result. Ага. А теперь осталось понять какой телепатией MySQL узнаёт, что в несортированном остатке нет ни одной записи из этого row_count. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:30 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА нуль-переход у вас за переход уже не считается... Нет, ибо, например, присвоение объекту характеристики (фиксируется в Event), не является переходом состояния. Dimitry SibiryakovНо это не отвечает на вопрос в каком месте тут нужен подзапрос. Даже со всеми возможными извратами тут в лучшем случае можно задействовать derived table. Это если оконные функции не справятся К черту слова! Запрос приведите! Dimitry SibiryakovWHERE, повторяю, для тех, кто способен выбранный критерий обосновать чем-то иным нежели чесанием левой пятки СЕО. Вот поэтому Вам никогда не быть CIO. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 21:38 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinК черту слова! Запрос приведите! Прямо так, без структуры таблиц? Ню-ню... Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Где тут место для подзапроса да ещё и с ROWS/TOP/и т.п.? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 22:02 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovГде тут место для подзапроса да ещё и с ROWS/TOP/и т.п.? Там, где серверу будет "легче" сделать TOP ... ORDER BY ... по индексу, чем Stream Aggregate. ЗЫ. Синтаксис запроса еще ни есть мерило производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 22:36 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
pkarklinТам, где серверу будет "легче" сделать TOP ... ORDER BY ... по индексу, чем Stream Aggregate. Без разницы. Там, где он сможет использовать индексную навигацию для ORDER BY, он сможет использовать её и для GROUP BY. Механика-то та же самая. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2013, 23:21 |
|
Переход с mysql на mssql Express Edition
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovmiksoftНо одно дело сформируется на миллионы записей и совсем другое - на сотню. Не бывает в природе. Кляуза ROWS чисто технически абсолютно эквивалентна ограниченному фетчу. Так что и формирование базового резалт-сета в точности одинаково. Это, конечно же, совершенно неверно. Простой пример: Выборка по JOIN'у двух примерно равноразмерных больших таблиц, объединение по проиндексированным ключам. Вменяемая СУБД конечно же сообразит, что при запрошенном полном резалт-сете нужно сделать какой-нибудь HASH JOIN, требующий предварительных подготовительных операций и далеко не сразу начинающий "выплёвывать" результаты. На полном наборе данных это будет ЗНАЧИТЕЛЬНО быстрее NLJOIN, выдёргивающего записи по индексу по одной из random'ных мест "внешней" таблицы. Или пусть не HASH, а MERGE JOIN, требующий предварительного полного сканирования и сортировки объединяемых таблиц, который тоже будет значительно быстрее NLJOIN. При наличии информации о том, что выборка ограничена сотней записей, будет "в лоб" применён Nested Loop JOIN с немедленной отдачей результатов. При наличии ORDER BY всё несколько интереснее, но тем не менее все равно есть существенное отличие . Могут быть использованы плохие для полного result set'а планы, но сразу начинающие отдавать записи. Другое дело, что что с точки зрения как реляционной теории, так и правильногоо проектирования конструкции типа "отдай то, не знаю чего", часто и лежащие под fetch first... у ленивых разработчиков/бизнес-аналитиков, бессмысленны. Тем не менее, ограниченная размером вывода выборка по упорядоченному списку, да и просто случайная выборка (sample) вполне адекватно могут отражать существующие "бизнес"-задачи. Семантически FETCH FIRST N ROWS ONLY можно заменить соответствующими OLAP функциями с ограничением выборки предикатом в WHERE. По мне это красивее, но заставлять разработчиков использовать "... ROW_NUMBER() OVER(...) as RNUM ... WHERE RNUM < ..." вместо более короткого fetch first ... особого смысла не вижу (за некоторыми "но"). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2013, 21:18 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552434]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 401ms |
0 / 0 |