Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Где лучше создать значение в таблице mysql
mysql_table  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42411
На форуме: 10 месяцев, 19 дней
Карма:




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

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

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

P.S. Везде индексы где они нужны выставлены - в каждой из таблиц.

Это сообщение отредактировал mysql_table - 21.01.2016 - 07:35
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5497
Пользователь №: 35718
На форуме: 4 года, 20 дней
Карма: 167




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


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14980
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 4 дня
Карма: 444




Судя по написанному, вариантов 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
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
mysql_table  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42411
На форуме: 10 месяцев, 19 дней
Карма:




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

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

Спасибо
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
mysql_table  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42411
На форуме: 10 месяцев, 19 дней
Карма:




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

$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 Конечно эти запросы верхние занимают мизерную долю проца - просто я хочу в дальнейшем тестировать некоторые скрипты на загрузку
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса