2014-10-21 2 views
2

Из docs, говорится:Когда использовать механизм хранения CSV для MySQL?

CSV-магазины хранения двигателя данных в текстовых файлах с использованием разделенных запятыми формата значения.

В чем преимущества этого? Вот некоторые я могу думать:

  1. Вы можете редактировать файлы CSV, используя простой текстовый редактор (однако, вы можете экспортировать данные легко с помощью SELECT INTO OUTFILE)
  2. может быть легко импортированы в программы электронных таблиц
  3. Легкие и возможно, более высокая производительность (дикое предположение)

Каковы некоторые недостатки?

  1. Нет индексации
  2. не может быть разделена
  3. Нет сделок
  4. Не может иметь NULL значения

Конечно это (не исчерпывающий) перечень преимуществ и недостатков, в том, что практические сценарии должны Я считаю использование механизма хранения CSV над другими?

+0

это мнение основано. –

+2

@ DanielA.White Это не основано на мнениях. Я не спрашиваю, следует ли использовать CSV или нет. Я прошу людей дать мне сценарии, где использование CSV можно считать полезным. Это не основано на мнениях. – dayuloli

+0

хорошо его или мнение, основанное или слишком широкое. –

ответ

4

Я редко использую механизм хранения CSV. Однако один из сценариев, который я нашел полезным, - это импорт массовых данных.

  1. Создать таблицу со столбцами, соответствующими моему входному CSV-файлу.
  2. Вне mysql, просто используя приглашение оболочки, mv CSV-файл в словарь данных MySQL, перезаписывая CSV-файл, который принадлежит моей таблице, которую я только что создал.
  3. ALTER TABLE mytable ENGINE=InnoDB

Вуаля! Одноэтапный импорт огромного файла данных CSV с использованием DDL вместо INSERT или LOAD DATA.

Предоставлено, оно менее гибко, чем INSERT или LOAD DATA, поскольку вы не можете выполнять NULL или настраиваемые переопределения отдельных столбцов или любые функции «заменить» или «игнорировать» для обработки повторяющихся значений. Но если у вас есть входной файл, который именно вы хотите импортировать, он может сделать импорт очень простым.

+0

Спасибо за ваш ответ! Точно так же, как я думал, что для CSV-таблиц мало пользы для любого долгосрочного использования. Интересно, почему они потратили столько усилий на его создание? – dayuloli

+0

Может быть множество причин. Если бы только один клиент нуждался в нем, когда MySQL была новой компанией, они могли бы быть заинтересованы в том, чтобы сохранить клиента. Или они, возможно, подумали, что это было доказательством концепции архитектуры многоразового хранилища, и довольно легко реализовать. –