Задать вопрос
Ответы пользователя по тегу SQL
  • Копирование большого объёма данных из одной таблицы в другую

    @Vampiro
    В первой таблице содержится около 3 млн записей, во второй немногим более 350 млн записей

    Мне кажется, выгоднее переименовать таблицы, поменяв их местами. Вставлять 3 проще, чем 350. Если же вам необходимо постоянно гонять 350кк записей из таблицы в таблицу — вероятно у вас что-то не так с архитектурой, и следует подумать в сторону триггеров или чего-то кеширующего по дороге от данных к мускулю. Вроде мемкеш сейчас делают простенькую бд, но я тут не владею информацией. надо смотреть по приложению — куда складывать.
    Ответ написан
  • Как хранить в БД права доступа?

    @Vampiro
    select count(content_id) from content_share where
    user_id=-1 /* friends */ 
    or
    user_id=0 /* anyone */ 
    or
    user_id=?
    
    Ответ написан
  • Unixtime vs datetime — скорость запросов?

    @Vampiro
    В мускуле timestamp хоть и позволяет хранить мс, но не генерит их самостоятельно. Потому никсовый формат с точечкой содержит более точное число. И еще, если с числовыми значениями вся нагрузка на построение запроса отдается клиетской части, то с dateTime возникает соблазн переложить это на БД (dateadd, diff, now, etc), а БД сложнее масштабировать. Получается большая нагрузка на слабое звено. А так да, удобнее с датами крутить.
    Ответ написан
    Комментировать
  • Какую СУБД выбрать для хранения одной большлй таблицы?

    @Vampiro
    Объемы данных принято измерять мега-, гига-, тера-, пета- байтами, но никак не строками. 10 кк строк — это не проблемный объем данных для любой БД, хоть sqlite. До тех пор, пока они вмещаются в оперативку и вы не надумаете масштабировать решение на 2-3 сервера, можете брать то, что вам роднее и ближе. Не выбирайте мускуль, если для вас сложно там скопировать данные с компа на комп.

    Куда больше на выбор влияет кластеризация (если есть данные, которые редко дергаются — их лучше положить на винт из оперативки)
    Репликация (отказоустойчивость)
    Бекапы, миграции, и прочее. А дергать одну табличку… пф)
    Ответ написан
    1 комментарий
  • Помогите составить 2 SQL-запроса

    @Vampiro
    SELECT  `company` , customer, COUNT(  `item` ) AS items
    FROM  `test` 
    GROUP BY company
    HAVING COUNT(  `item` ) >10
    ORDER BY COUNT(  `customer` ) DESC 
    

    Я бы выгружал это в отдельную табличку и там уже искал рейтинг нужной. Хотя можно потестить вычисляемое поле в этот запрос затискать.
    Ответ написан
    3 комментария
  • Порядковый номер из выборки SQL

    @Vampiro
    Вы же рисуете пользователю эти картинки, проходя циклом по всей выборке. Добавьте в УРЛ нужные данные.
    Ответ написан
    9 комментариев
  • есть ли в SQL оператор полностью идентичный SELECT

    @Vampiro
    «как это наиболее вежливо объяснить»(с) подойти после Экзамена и попросить ответа для повышения общего образования, так сказать. Она же учитель, ее задача — нести знания в ваши головы. Если правильно спросить — то обязательно расскажет.

    Главное не создавать с преподавателем спорных ситуаций. Это можно сделать позже, вооружившись необходимой документацией =) с целью оспорить оценку. Но если создать конфликт, то «пересдать» можно с «хорошо» на «уд». Будет забавно.
    Ответ написан
    Комментировать
  • есть ли в SQL оператор полностью идентичный SELECT

    @Vampiro
    имхо препод неверно сформулировал вопрос, либо вы его неверно поняли. В SQL есть понятие синонимов, используемых в запросах вида SELECT. (Когда вместо таблички «это_самая_суперская_табличка» в запросах участвует упрощенное наименование. Больше мой опыт не подсказывает мне использования слов «полностью идентичный» в отношении оператора «SELECT». SQL — простой язык и спецификацию по нему нагуглить достаточно просто.
    Ответ написан
    2 комментария