Как объединить данные всех столбцов в один столбец в виде XML-документа - PullRequest
0 голосов
/ 03 января 2012

В книге MySQL я наткнулся на часть, в которой говорилось:

Если у вас много длинных столбцов в одной таблице, может быть лучше объединить данные, которые они хранят, в один столбец, возможно, как XML-документ.Это позволяет всем значениям совместно использовать внешнее хранилище, а не использовать свои собственные страницы.

У меня фактически есть 6 столбцов ТЕКСТА, как показано ниже:

question TEXT NOT NULL,  
option1  TEXT NOT NULL,  
option2  TEXT NOT NULL,  
option3  TEXT NOT NULL,  
option4  TEXT NOT NULL,  
answer   TEXT NOT NULL

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

1 Ответ

1 голос
/ 03 января 2012
  1. Создание нового столбца
  2. Запустите сценарий для ввода данных 6 столбцов в XML (см. Ниже) и заполните им новый столбец.

    <?xml version="1.0" encoding="utf-8" ?>
    <newColumnName>
      <question>
         <![CDATA[Insert value of column question here]]>
      </question>
      <option1>
         <![CDATA[Insert value of column option1 here]]>
      </option1>
      <option2>
         <![CDATA[Insert value of column option2 here]]>
      </option2>
      <option3>
         <![CDATA[Insert value of column option3 here]]>
      </option3>
      <option4>
         <![CDATA[Insert value of column option4 here]]>
      </option4>
      <answer>
         <![CDATA[Insert value of column answer here]]>
      </answer>
    </newColumnName>
    
  3. Измените каждый запрос базы данных и проанализируйте ваш XML для получения данных

...