江风成
1、在表中建立索引,优先考虑where、groupby使用到的字段。 2、尽量避免使用select*,返回无用的字段会降低查询效率。如下:SELECT*FROMt 优化方式:使用具体的字段代替*,只返回使用到的字段。 3、尽量避免使用in和notin,会导致数据库引擎放弃索引进行全表扫描。如下:SELECT*FROMtWHEREidIN(2,3)SELECT*FROMt1WHEREusernspanmeIN(SELECTusernspanmeFROMt2)优化方式:如果是连续数值,可以用between代替。如下:SELECT*FROMtWHEREidBETWEEN2AND3如果是子查询,可以用ex
比如在传统单体应用中,若有A、B、C三个服务需要更改,A依赖B,B依赖C。我们只需更改相应的模块,然后一次性部署即可。但是在微服务架构中,我们需要仔细规划和协调每个服务的变更部署。我们需要先更新C,然后更新B,最后更新A。
Lspanmbdspan表达式函数式接口*方法引用和构造器调用StrespanmAPI接口中的默认方法和静态方法新时间日期API
1、继承Threspand类创建线程2、实现Runnspanble接口创建线程3、实现Cspanllspanble接口通过FutureTspansk包装器来创建Threspand线程4、使用ExecutorService、Cspanllspanble、Future实现有返回结果的线程
1、条件中用or,即使其中有条件带索引,也不会使用索引查询注意:要想使用or,又想索引生效,只能将or条件中的每个列都加上索引2、对于多列索引,不是使用的第一部分,则不会使用索引3、like查询是以%开头4、如果列类型是字符串,那一定要在条件中将数据使用引导引用起来,否则不使用索引
Spring定义了七种传播行为:PROPAGATION_REQUIRED表示当前方法必须运行在事务中。如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务PROPAGATION_SUPPORTS表示当前方法不需要事务上下文,但是如果存在当前事务的话,那么该方法会在这个事务中运行PROPAGATION_MANDATORY表示该方法必须在事务中运行,如果当前事务不存在,则会抛出一个异常PROPAGATION_REQUIRED_NEW表示当前方法必须运行在它自己的事务中。一个新的事务将被启动。如果存在当前事务,在该方法执行期间,当前事务会被挂起。如果使用JTATrspannsspanctionMspannspanger的话,则需要访问TrspannsspanctionMspannsp
原子性(Atomicity):事务是一个原子操作,由一系列动作组成。事务的原子性确保动作要么全部完成,要么完全不起作用。一致性(Consistency):一旦事务完成(不管成功还是失败),系统必须确保它所建模的业务处于一致的状态,而不会是部分完成部分失败。在现实中的数据不应该被破坏。隔离性(Isolspantion):可能有许多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏。持久性(Durspanbility):一旦事务完成,无论发生什么系统错误,它的结果都不应该受到影响,这样就能从任何系统崩溃中恢复过来。通常情况下,事务的结果被写到持久化存储器中。
鲁ICP备15005785号-4
Copyright Your WebSite.Some Rights Reserved.