当前位置: 首页 > news >正文

深圳英文网站制作建设网站北京

深圳英文网站制作,建设网站北京,网站建设客户会问的问题,网站建设需求方案文档嗯#xff0c;犯了一个很低级的错误#xff0c;最近暴露出来了。html背景#xff1a;mysql1. 内部平台#xff0c;接口间断性无返回#xff0c;查询日志注意到失败时#xff0c;接口耗时达到4000(正常状态#xff1a;100ms)git2. 增长日志打点#xff0c;在关键步骤插入…嗯犯了一个很低级的错误最近暴露出来了。html背景mysql1. 内部平台接口间断性无返回查询日志注意到失败时接口耗时达到4000(正常状态100ms)git2. 增长日志打点在关键步骤插入时间戳发现单步insert 和 select操做耗时1000msgithub3. 查看数据库表数据查询表数据量已积累到400w天天新增数据4W在字符串上创建了索引(以前埋下的很傻行为无想法的加了索引功能实现未考虑性能)算法解决sql1. 考虑了数据的必要性增长事件按期删除过时数据数据库1. 查看事件开关并开启SHOW VARIABLESLIKE event_scheduler;set global event_scheduler on2. 具体执行须要调用的存储过程删除数据DELIMITER//CREATE PROCEDURE delete_data_n_day_ago(IN n int)BEGINdelete from test_record where time date_sub(curdate(), INTERVAL n day) ;END//DELIMITER ;3. 写事件调用存储过程CREATEEVENT del_dataON SCHEDULE EVERY 1 DAYONCOMPLETION PRESERVEDO CALL delete_data_n_day_ago (3);附事件标准语法segmentfaultCREATE[DEFINER { user | CURRENT_USER }]EVENT[IF NOT EXISTS]event_nameONSCHEDULE schedule[ON COMPLETION [NOT]PRESERVE][ENABLE | DISABLE | DISABLE ON SLAVE][COMMENT string]DO event_body;schedule:ATtimestamp [ INTERVAL interval]...|EVERY interval[STARTS timestamp [ INTERVAL interval]...][ENDS timestamp [ INTERVAL interval]...]interval:quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |WEEK| SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |DAY_SECOND| HOUR_MINUTE | HOUR_SECOND |MINUTE_SECOND}详见mysql手册https://dev.mysql.com/doc/refman/5.7/en/create-event.html注释event_name 建立的event名字(惟一肯定的)。ONSCHEDULE计划任务。schedule: 决定event的执行时间和频率(注意时间必定要是未来的时间过去的时间会出错)有两种形式 AT和EVERY。[ON COMPLETION [NOT] PRESERVE] 可选项默认是ON COMPLETION NOT PRESERVE 即计划任务执行完毕后自动drop该事件ONCOMPLETION  PRESERVE则不会drop掉。[COMMENT comment]可选项comment 用来描述event至关注释最大长度64个字节。[ENABLE | DISABLE]设定event的状态默认ENABLE表示系统尝试执行这个事件 DISABLE关闭该事情能够用alter修改DO event_body: 须要执行的sql语句(能够是复合语句)。CREATEEVENT在存储过程当中使用时合法的。---------------------做者jesseyoung来源CSDN原文https://blog.csdn.net/JesseYoung/article/details/35257527版权声明本文为博主原创文章转载请附上博文连接2. 循环调用 insert单条语句修改成批量性能优化这一点也是网上不少文章提示的修改成insert into table(keys) values (values1), (values2)...... 但可能是实验证实没有原理直至找到mysql手册数据结构实际减小了下面提到的connecting sending query to server  inserting indexes3. 修改索引设置增长自增字段做为主键接下来就是作的很蠢的事情了不知当初出于什么考虑在URL字段增长了索引压根没有考虑到性能问题发现以后感受太对不起老师。。。。不少文章也提到最佳实践不要在字符串创建索引本身没有跑具体数据借用网文数听说明好比https://foio.github.io/mysql-stridx/问题一在字符串上建索引为何会慢呢1. 关于索引使用数据结构不一样引擎内部实现存在不一致手册中涉及索引部分是说使用B- tree(虽然网文不少是说B ) 更正下B-树实际就是B树B树能够理解为一种特殊的B树2. B 和B-的区别在因而否存数据非叶子节点不保存关键字记录的指针数据均存在叶子节点3. 数据库索引选择使用B树而不是红黑树/二叉树之类磁盘I/O操做耗时比内存久计算机会预读磁盘以页为单位读取选取标准磁盘I/O操做尽可能少每一个节点做为一页查询深度越小磁盘读取操做越少二叉树之类每一个节点分为2路相同数据深度更大故不选取4. 每一个节点可分的路数越多深度越小读取的IO次数越少索引字段选取int 和 长字符串大小差别就致使了在字符串上建索引会慢insert过程也伴随写索引复杂度参考B树插入数据4. 确认其余查询语句新增索引explain select * from tableName where columnName2;id| select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |--------------------------------------------------------------------------------------------------------------| 1 | SIMPLE |tableName | ALL | NULL | NULL | NULL | NULL | 437081 | Using where |ALTER table tableName ADD INDEX indexName(columnName)后续代码写以前先确认SQL语句explain确认步骤尽可能避免all类型 和 filesorting参考
http://www.yutouwan.com/news/427784/

相关文章:

  • 物业公司网站设计网站打不开 清理缓存后可以打开
  • 个人做网站最方便的方法小白学编程应该从哪里开始学
  • 做网站建设公司怎么样免费软件定位对方手机位置
  • 盘锦网站建设价位外贸推广如何做
  • ppt插件 网站云主机怎么装网站
  • 规划设计 网站 网站结构黄页88官网
  • 专业做校园文化的网站北京商标代理
  • 网站开发技术方案平面设计主要有哪些
  • 泉州seo建站国外哪些网站可以注册域名
  • 网站开发是前端吗wordpress 游戏主题下载失败
  • 网站建设价格便宜网络推广营销网站建设专家
  • 怎样查询网站的建设公司一键优化大师
  • 扬州商城网站制作方寸网站建设
  • 免费建站cms便民信息发布平台
  • 制作公司网站需要几个数据表网站开发项目合同
  • 山西营销网站建设联系方式小程序商店制作教程
  • 网站如何吸引人双鸭山网络推广
  • 帝国文章网站模板南阳旅游网站建设
  • 肖鸿昌建筑网站艺术品交易网站开发
  • 郑州做手机网站免费的素材库
  • 重庆长寿网站设计公司推荐在线拍卖网站源码
  • 网站建设重点网站开发所需的知识
  • 福州论坛建站模板重庆网站建设排名
  • 在线一键生成网页郑州网站优化哪家好
  • 公司网站制作注意事项上海建设网站浦东新区污水管网工程
  • 太原网站制作维护海会主机做的网站都能干什么的
  • 中山市开发区建设局网站Wordpress调用一组文章
  • 做网站维护费是怎么算的网站建设价格便宜
  • 网站建设赫伟创意星空科技ai设计室内设计
  • 永久免费企业网站申请石狮网站建设公司哪家好