Skip to content

Instantly share code, notes, and snippets.

@morsvox
Created April 1, 2020 07:59
Show Gist options
  • Save morsvox/6915b1b1fed60a47206e6cf751056bc2 to your computer and use it in GitHub Desktop.
Save morsvox/6915b1b1fed60a47206e6cf751056bc2 to your computer and use it in GitHub Desktop.
1)
CREATE TABLE `patients` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(120) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `sensor_data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`patient_id` int(11) NOT NULL,
`pulse` smallint(5) unsigned NOT NULL,
`pressure` varchar(7) NOT NULL,
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `patient_id` (`patient_id`),
KEY `pulse_pressure_timestamp` (`pulse`,`pressure`,`timestamp`),
CONSTRAINT `sensor_data_ibfk_1` FOREIGN KEY (`patient_id`) REFERENCES `patients` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
2)
практического опыта в хайлоад нет, но думаю как то так:
нужно создать дублирующую таблицу с новыми полями, переименованием и индексами
сделать синхронизацию данных таблиц (возможно с остановкой записи в рабочую таблицу),
после синхронизации переименовать таблицы и запустить запись уже в новую таблицу
3)
<?php
class Tuesdays
{
private $count = 0;
public function __construct(string $date1, string $date2){
$dt1 = new DateTime($date1);
$dt2 = new DateTime($date2);
$interval = new DateInterval('P1D');
$range = new DatePeriod($dt1, $interval, $dt2);
$this->counter($range);
}
public function getCount(){
return $this->count;
}
private function counter(DatePeriod $range){
foreach ($range as $date) {
if ($date->format('D') == "Tue") {
$this->count++;
}
}
}
}
$tues = new Tuesdays($_GET["DATE_1"], $_GET["DATE_2"]);
echo $tues->getCount();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment