项目需求
某数据可视化大屏,直接调用第三方API数据,但是提供的都是时间点的数据,无法开发折线图,需要临时储存部分时间段的数据。
- 数据每15秒更新一次,100组用户,一天的数据量峰值为
60/15*60*24*100=576000
; - 临时数据仅作为折线的展示使用,无历史报表的作用,属于用完即删的状态;
- 自增id防止到峰值的解决方案:(1)如果id大于某个值,删除原有数据表,新增分表;(2)如果id大于某个值,直接删除该id,重新从1进行索引;
/*删除主键*/
public function delPriKey()
{
global $db, $res;
dbc();
//最好将内容先删除;
//删除主键;
$sql = "ALTER TABLE " . $db->table('tb') . " DROP id";
$row = $db->queryall($sql);
//创建新的主键且自增;
$sql2 = "ALTER TABLE " . $db->table('tb') . " ADD id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY";
$row2 = $db->queryall($sql2);
//生成json;
$res["data"] = "主键恢复成功.";
die(json_encode_lockdata($res));
}
lockdatav Done !