Mysql数据库 - 索引及优化

一.前言

在平时自己使用数据库的时候,个人用的数据库一般不大,十万条也可能。不过对于公司来说,单表数据量上到千万、亿级也很常见,而对于这么庞大的数据量做查询,换成人来做,简直不可能,可一些大公司就轻易做到上亿数据的毫秒查询。而这里介绍下索引的内容和平常我经常用到的优化方式

1.索引

在了解如何优化前,我们要知道数据库是怎么快速找到数据的.先来举个例,我们人对于非常大量无序数据的查找,是很无力的,我们只能一个个确认,比如一排药柜,我们只能一个个标签看过去,第一个柜子是什么药,然后下一个下一个,直到找到需要的药为止。至此就发现,即便是药柜不超过百的数量级就非常耗时,耗资源了。

字典字典

那,如果是字典呢?庞大的信息,厚重的知识的力量,我们完全没办法掌握这份力量。
几乎没人能做到我给一个字他,他能瞬间知道这个字在字典哪一页

所以,在生活中,我们引入了一种东西 目录

QQ截图20210701173843.pngQQ截图20210701173843.png

即便是我们使用字典,也是通过笔画或者拼音的顺序去找。比如根据字典所有字的记录都有顺序 bai 字肯定在 ai 字后面,我们找bai字,自然会跳过a开头的全部字,然后在目录找到bai字所在的大概页数,不用一页一页翻,大大缩短了查字的时间

而索引,就是这样的一个东西

路由器刷入Openwrt

没有前言

1.先下载和准备相关内容

刷固件用:

固件要注意自己的路由器版本等相关信息,我这边使用的是 ASUS RT-ACRH17,咸鱼190左右就有

解锁Bootloader的固件
【openwrt-ipq806x-asus_rt-acrh17-squashfs-flash-factory.trx】
http://www.mleaf.org/downloads/rt-acrh17/opboot/%E5%85%8D%E6%8B%86%E6%9C%BA%E5%88%B7opboot-LEDE%E5%9B%BA%E4%BB%B6/

opboot固件
【opboot-rt-acrh17-flash-v1.0.6.bin】
http://www.mleaf.org/downloads/rt-acrh17/opboot/

lean制作的openwrt固件
【openwrt-ipq40xx-asus_rt-acrh17-squashfs-sysupgrade.bin】
https://github.com/coolsnowwolf/lede
(或自己找自己路由器版本其他大神提供的包

纯CSS3实现菜单折叠

以前学前端的时候都没教CSS3,而因为主要方向是后端,所以一直没有关注CSS3的内容
曾经实现的菜单折叠,是使用了JS来实现的.最近复习前端,直接使用CSS3,无JS的方式实现一个菜单折叠.
记录一下大概思路和提醒不能停下学习.

先是介绍思路点

  1. 折叠可以想象成开关,而开关就能想到CheckBox
  2. css存在:checked选择器,这个可以设置CheckBox选中时的效果
  3. 因为transition不能直接从0高度变成auto,但可以用max-w/h来代替

↓可以点击尝试,点击文字和选中框都能触发

用游戏(开发)的方式,来简单的理解面向对象编程!

[TOC]

在刚开始学编程的时候,玩了Winform一段时间,脑子里有一个问题,为什么界面文件会有一个类似隐藏起来的文件?
为什么里面有会很多new出来的对象,而又有对应的尺寸大小?button1button2有什么区别?那他们的Class(ButtonClass)又表示什么?

QQ截图20210410091627.jpgQQ截图20210410091627.jpg

QQ截图20210410091611.jpgQQ截图20210410091611.jpg

而很长时间,我都是处于这一个似懂非懂,云里雾里,知道用法,但你问我这是什么,应该是怎样的思维方式去思考,我真的不知道.

QQ图片20210409101134.jpgQQ图片20210409101134.jpg

Quartz.Net 的 MisFire 未执行则跳过执行

最近使用Quartz.Net想实现使用Cron来执行Job,并且若当前作业执行时间越过了下一个执行周期,则跳过这个周期.

我的测试Job使用延迟来模拟执行中的效果,为了方便,Cron使用了 0/5 * * * * ? (每五秒一次)

Job的延迟使用了Delay

await Task.Delay(7000);

Trigger周期设置

.WithCronSchedule("0/5 * * * * ? ")