Оптимизировать таблицу MySQL? - PullRequest
1 голос
/ 23 апреля 2010

Вот моя фактическая схема таблицы (я использую Mysql):

Table experiment :
code(int)
sample_1_id
sample_2_id
... until ... sample_12_id
rna_1_id
rna_2_id
... until ... rna_12_id
experiment_start

Как я могу оптимизировать обе части: sample_n_id и rna_n_id (все являются bigint (20) и допускают null = true)?

О значениях: мы можем иметь: ex: sample_1_id = 2, Sample_2_id = 5, ...

Примечание: значения могут быть обновлены.

Идеи? Благодаря.


Редактировать:

У меня есть 3 таблицы:

Table experiment :
sample_1_id .. sample_12_id (not useful with normalization)
rna_1_id .. rna_12_id (not useful with normalization)


With normalization I should have :

Table Rna :
id
experiment_id
rna_id
rna_name
sample_id (link to a sample in Table sample)

Table Sample :
id
experiment_id
sample_id
sample_name

Итак, существует связь между Рна и таблицей образцов.

Пример:

Table rna :
    id =1
    experiment_id = 1
    rna_id = rna1
    rna_name = name1
    sample_id = 2

    Table Sample :
    id = 2
    experiment_id = 1
    sample_id = Sample1
    sample_name = SampName

Итак, sample_id = 2 => В таблице sample: id = 2 => sample_id = Sample1

Ответы [ 2 ]

3 голосов
/ 23 апреля 2010

Я не уверен, какую оптимизацию вы ищете, но ее обязательно нужно нормализовать в таблице, определяющей отношения эксперимент-образец и эксперимент-рна, например, так:

experiments_to_samples
id  |  experiment_id | sample_id |  


experiments_to_rnas
id  |  experiment_id | rna_id |
Таким образом,

, каждый experiment может иметь неограниченное количество ссылок sample и rna.

Предполагается, что есть таблица samples и таблица rna.

0 голосов
/ 23 апреля 2010

нормализуйте ваши таблицы следующим образом:

Table experiment :
code(int)
experiment_start

Table sample:
sample_id
code   fk to experiment.code


table rna:
rna_id
code   fk to experiment.code
...