- Автор темы
- #1
Написал скрипт выборки данных с базы MySQL, но время выполнения иногда превышает 60 сек. можноли оптимизировать\ускорить?
имеется база данных: поля
DT, pIN1, pIN2, dP1, dP2, dP3, dP4, dP6, dP7, dP8, dP9, dP10
в БД добовляется новая запись (строка) каждые 6 секунд, запись во все поля.
DT - метка времени в формате ггггммддччммсс (год,месяц,число,часы,минуты,секунды), остальное это данные ( числа формата ххххх,хххххх)
pIN1, pIN2 - в эти поля данные пишутся в течении часа одинаковые, в остальные каждый раз разные.
задача: выбрать с базы 24 строки с неповторяюшимися значениями полей pIN1, pIN2 ну за сутки изменения.
вот код :
скрипт работает но очень медленно, иногда более 60 сек, можно ли какнибуть оптимизировать его, ускорить выборку.
имеется база данных: поля
DT, pIN1, pIN2, dP1, dP2, dP3, dP4, dP6, dP7, dP8, dP9, dP10
в БД добовляется новая запись (строка) каждые 6 секунд, запись во все поля.
DT - метка времени в формате ггггммддччммсс (год,месяц,число,часы,минуты,секунды), остальное это данные ( числа формата ххххх,хххххх)
pIN1, pIN2 - в эти поля данные пишутся в течении часа одинаковые, в остальные каждый раз разные.
задача: выбрать с базы 24 строки с неповторяюшимися значениями полей pIN1, pIN2 ну за сутки изменения.
вот код :
PHP:
//коннект
$link = mysql_connect("192.168.12.12", "user", "pass")
or die("Could not connect : " . mysql_error());
mysql_select_db("base") or die("Could not select database");
//выборка за первый час
//нахожу одну строку примерно в 00-30 времени и вывожу данные $rrr = "20100926003%";
$query = "SELECT DISTINCT pIN1, pIN2 FROM tabd WHERE DT LIKE '$rrr'";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
foreach ($line as $col_value) {
print $col_value;
}
}
// и так 24 раза, меняется только $rrr = "20100926013%"; час.
скрипт работает но очень медленно, иногда более 60 сек, можно ли какнибуть оптимизировать его, ускорить выборку.