myisam нетранзакционен, разве нужны другие причины избегать его везде, где только можно?
Как прямое следствие:
При записи эксклюзивная блокировка всей таблицы, о какой производительности можно вести речь?
Чуть что случилось - и ни вы, ни тем более сама СУБД понятий не имеете, где данные корректны, а где в итоге записан бред вместо данных.
Ранжирование зависит от нескольких сотен факторов и метрик, в современном мире в первую очередь - поведенческих. Считать gTLD решающим фактором? Серьёзно?
По лимиту на каждый из селектов - просто чтобы не читать данных больше необходимого - union'у меньше работы по сортировке.
И основной лимит у union'а - сколько записей будет в результате возвращено на приложение.
Потому и говорю, что с рейдом у вас всё в порядке. 39мб/с - это даже больше, чем 11+24мб/с.
А вот с дисками - далеко как не в порядке. Потому, повторюсь, проверяйте эти диски на другой машине, проверяйте другие диски на этой машине.
во-первых, ROS обновили? В последних релизах постоянно видел какие-то телодвижения в ppp.
во-вторых, зачем роутер перезагружать, если рестартовать надо интерфейс?
Первая же ссылка: asp24.com.ua/blog/napishem-skript-kotoryj-budet-pe...
Спереди и снизу (если есть) вдув, сзади и сверху - выдув. Классика организации воздуха.
Не самая лучшая, т.к. из-за преобладания вытяжки пыль будет засасываться через любые щели, но заводские корпуса обычно только так и делают.
Если есть желание - можете поэкспериментировать с потоками.
Решение конечной цели:
$rgMetaTags = array();
$sGetTags = "select post_id, meta_key, meta_value from `table` where /*что там вам нужно*/";
foreach ($dbh->query($sGetTags) as $rgTag) {
$rgMetaTags[ $rgTag['post_id'] ][ $rgTag['meta_key'] ] = $rgTag['meta_value'];
}
Во вьюхе проверяете, есть ли в rgMetaTags элемент с выводимым в данный момент post_id и выводите как нравится.
SATA и eSATA - это один и тот же интерфейс, только физически разные разъёмы. Кабели SATA-eSATA продаются свободно.
Поищите по ключевому слову DAS. Обычно они внешние со своим корпусом, но можно и развинтить штатный корпус да разместить как нравится в своём - лишь бы места хватало.
В принципе, если привязаться конкретно к mysql, то можно сделать пользовательскую переменную, получится что-то вроде
set @numrow:=0;
update `table` set `float`=if((@numrow:=@numrow+1) <= 5, `float`*100, 1) order by `float` desc
Но почти наверняка наврал где-нибудь в синтаксисе обращения к переменной.
Это простой и понятный код. Что тут сложного? Для новых версий mysql можно апдейт переписать так:
update `table` set `float` if (exists (select 1 from `max5float` where maxid=id), `float`*100, 1)
что тут сложного-то?