[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Где лучше создать значение в таблице mysql
mysql_table
Привет, у меня возник вопрос - как будет более эффективнее для производительности скрипта - чтоб он был более быстрее и меньше забирал ресурсов сервера.
Вопрос: Существует 2 таблицы
table1 - в ней хранится всегда 5000+- строк - (столбцов в этой таблице 31)
table2 - в ней хранится 200 строк (столбцов в таблице 11)
В одном из скриптов всегда подключается одна строка из "table1"

Я могу создать еще один столбец в "table1", но оно уже существует в "table2".
Значение по умолчанию NULL для нового столбца только в 10-15% строк "table1" в значение будет какая та цифра.

Как будет более эффективнее - создать это столбец в "table1", либо не создавать его и подключать каждый раз в скрипте "table2" (одну нужную строку - в одном из 31 столбцов "table1" - написан id "table2" где хранится это значение) и проверять его по умолчанию NULL оно или нет но это уже не важно.

P.S. Везде индексы где они нужны выставлены - в каждой из таблиц.
Valick
хм, вы предлагаете определить породу кота не доставая его из мешка.
для принятия решения нужен детальный анализ архитектуры бд и запросов к ней

_____________
Стимулятор ~yoomoney - 41001303250491
sergeiss
Судя по написанному, вариантов 2:
1. Просто джойнить таблицы, подключать нужный столбец.
2. Делать подзапрос, выводя нужную величину в качестве новой колонки. Типа такого
select *, (select <one_column> from table2 where <условие_связи>) as important_column from table1 where <something>

Оба способа, вобщем-то, делают практически одно и то же.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
mysql_table
Цитата (sergeiss @ 21.01.2016 - 12:05)
Судя по написанному, вариантов 2:
1. Просто джойнить таблицы, подключать нужный столбец.
2. Делать подзапрос, выводя нужную величину в качестве новой колонки. Типа такого
select *, (select <one_column> from table2 where <условие_связи>) as important_column from table1 where <something>

Оба способа, вобщем-то, делают практически одно и то же.

Спасибо
mysql_table
Еще один вопрос: По данной теме.
Я подумал что будет лучше просто написать еще один скрипт.
Написать в нем:

$sec=gettimeofday("sec");
//Запрос к table1 при существование нового значения
$sec2=gettimeofday("sec");
$sec2=round($sec2-$sec,5);
echo $sec2;

//И протестировать такой запрос через while 10000 - вывести среднюю скорость выполнения скрипта.

$sec=gettimeofday("sec");
//Запрос к table1 (если значения нового не будет)
//Запрос к table2

$sec2=gettimeofday("sec");
$sec2=round($sec2-$sec,5);
echo $sec2;

//Тоже самое через while сделать для такого запроса


Но мне нужно знать на сколько будет напряжен сервер, а не только быстрота скрипта (понятно что это очень мизерная доля миллисекунды)

Я просто хочу знать функцию - которую можно поставить


$sec=gettimeofday("sec");
//Здесь функция
//Запрос к table1 при существование нового значения

$sec2=gettimeofday("sec");
$sec2=round($sec2-$sec,5);
//Здесь будет ответ - сколько потребовал ресурсов сервер
echo $sec2;


Есть такая функция в php - она выводит сколько скрипт занял оперативы - с того места где ее поставили и где ее вывели.

Оперативка мне на важна - ее на сервере 8гб, мне нужно знать на сколько был занят проц на выполнение
Подскажите есть ли такая функция в php - название просто скажите пожалуйста - я загуглю

P.S Конечно эти запросы верхние занимают мизерную долю проца - просто я хочу в дальнейшем тестировать некоторые скрипты на загрузку
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.