手机个人网站制作教程page打开 wordpress
2026/5/21 11:22:32 网站建设 项目流程
手机个人网站制作教程,page打开 wordpress,如何用免费个人网站制作,今天国内新闻1. 什么是存储过程#xff1f;有哪些优缺点#xff1f; 存储过程就像我们编程语言中的函数一样#xff0c;封装了我们的代码(PLSQL、T-SQL)。 存储过程的优点#xff1a;1.能够将代码封装起来2.保存在数据库之中3.让编程语言进行调用4.存储过程是一个预编译的代码块#…1. 什么是存储过程有哪些优缺点存储过程就像我们编程语言中的函数一样封装了我们的代码(PLSQL、T-SQL)。存储过程的优点1.能够将代码封装起来2.保存在数据库之中3.让编程语言进行调用4.存储过程是一个预编译的代码块执行效率比较高存储过程的缺点1.每个数据库的存储过程语法几乎都不一样十分难以维护不通用2.业务逻辑放在数据库上难以迭代2. 数据库三个范式是什么第一范式字段是最小的的单元不可再分第二范式满足第一范式,表中的字段必须完全依赖于全部主键而非部分主键。主键是唯一的它们只需要依赖于主键也就成了唯一的第三范式满足第二范式非主键外的所有字段必须互不依赖。就是数据只在一个地方存储不重复出现在多张表中3. 索引是什么有什么作用以及优缺点1是一种快速查询表中内容的机制类似于新华字典的目录2运用在表中某个些字段上但存储时独立于表之外优点索引加快数据库的检索速度缺点索引降低了插入、删除、修改等维护任务的速度(虽然索引可以提高查询速度但是它们也会导致数据库系统更新数据的性能下降因为大部分数据更新需要同时更新索引)4. 什么时候要创建索引1表经常进行 SELECT 操作2表很大(记录超多)记录内容分布范围很广3列名经常在 WHERE 子句或连接条件中出现5. 索引分类有哪些唯一索引、主键索引、聚集索引、非聚集索引主键索引它 是一种特殊的唯一索引不允许有空值。唯一索引与普通索引类似不同的就是索引列的值必须唯一但允许有空值。普通索引普通索引 (由关键字KEY或INDEX定义的索引) 的唯一任务是加快对数据的访问速度。全文索引只能作用MyISAM在 CHAR、VARCHAR、TEXT、类型的字段上。创建全文索引需要使用 FULLTEXT 参数进行约束。联合索引遵循最左前缀’原则简单的理解就是只从最左面的开始组合查询时使用字段中的第一个字段索引才会被使用。覆盖索引减少查询次数空间索引只有 MyISAM 类型的表支持该类型 ‘ 空间索引 ’。而且索引字段必须有非空约束。6. 索引的数据结构常见的索引的数据结构有BTree、Hash索引。Hash索引MySQL中只有Memory存储引擎支持hash索引是Memory表的默认索引类型。hash索引把数据以hash值形式组织起来因此查询效率非常高可以一次定位。hash索引的缺点Hash索引仅能满足等值的查询不能满足范围查询、排序。因为数据在经过Hash算法后其大小关系就可能发生变化。BTree索引BTree是mysql使用最频繁的一个索引数据结构是Innodb和Myisam存储引擎模式的索引类型。BTree索引在查找时需要从根节点到叶节点进行多次IO操作在查询速度比不上Hash索引但是更适合排序等操作。7. 为什么使用BTree作为索引页内节点不存储内容每次IO可以读取更多的行大大减少磁盘I/O读取次数换句话说索引的数据结构要尽量减少查找过程中磁盘I/O的存取次数。8. MySQL 索引底层结构为什么使用 B树Hash索引虽然能够提供 O(1) 的单数据行操作性能但是对于范围查询和排序却无法很好地支持最终导致全表扫描B 树能够在非叶节子点中存储数据但是这也导致在查询连续数,据时可能会带来更多的随机 I/O;B树的所有叶节点是通过链表指针相互连接能够减少顺序遍历时产生的额外随机 I/O第一B 树一个节点里存的是数据而 B树存储的是索引地址所以 B 树里一个节点存不了很多个数据但是 B树一个节点能存很多索引B树叶子节点存所有的数据。第二B树的叶子节点是数据阶段用了一个链表串联起来便于范围查找9. B 树的叶子节点链表是单向还是双向双向链表10. MySQL主从复制的原理Slave从Master获取binlog二进制日志文件然后再将日志文件解析成相应的SQL语句在从服务器上重新执行一遍主服务器的操作通过这种方式来保证数据的一致性。由于主从复制的过程是异步复制的因此Slave和Master之间的数据有可能存在延迟的现象只能保证数据最终的一致性。11. Mysql主从复制的好处1读写分离通过动态增加从服务器来提高数据库的性能在主服务器上执行写入和更新在从服务器上执行读功能。2提高数据安全因为数据已复制到从服务器从服务器可以终止复制进程所以可以在从服务器上备份而不破坏主服务器相应数据。3在主服务器上生成实时数据而在从服务器上分析这些数据从而提高主服务器的性能通过主从复制可以实现数据备份、故障转移、MySQL集群、高可用、读写分离等。12. Mysql主从数据源的配置我们需要配置主从数据库,主从数据库的配置一般都是写在配置文件里面。通过ConfigurationProperties注解,可以将配置文件(一般命名为:application.Properties)里的属性映射到具体的类属性上,从而读取到写入的值注入到具体的代码配置中,按照习惯大于约定的原则,主库我们都是注为master,从库注为slave,本项目采用了阿里的druid数据库连接池,使用build建造者模式创建DataSource对象,DataSource就是代码层面抽象出来的数据源,接着需要配置sessionFactory、sqlTemplate、事务管理器等13. 主键一般用自增ID还是UUID使用UUID的优点无需担心业务量泄露的问题。唯一标识不用考虑重复问题在数据拆分、合并时也能达到全局的唯一性。UUID的缺点因为UUID是随机生成的所以会发生随机IO影响插入速度并且会造成硬盘的使用率较低。UUID占用空间较大建立的索引越多造成的影响越大。UUID之间比较大小较自增ID慢不少影响查询速度。自增ID的优点字段长度较 UUID 会小很多。数据库自动编号按顺序存放利于检索自增ID的缺点因为是自增在某些业务场景下容易被其他人查到业务量。发生数据迁移时或者表合并时会非常麻烦在高并发的场景下竞争自增锁会降低数据库的吞吐能力1、项目是单机版的并且数据量比较大百万级时用自增长的此时最好能考虑下安全性做些安全措施。2、项目是单机版的并且数据量没那么大对速度和存储要求不高时用UUID。3、项目是分布式的那么首选UUID分布式一般对速度和存储要求不高。4、项目是分布式的并且数据量达到千万级别可更高时对速度和存储有要求时可以用自增长。14. 什么是ACID事务ACID包含原子性Atomicity:一个事务中的所有操作要么全部完成要么全部不完成一致性Consistency:在事务开始之前和事务结束以后数据库的完整性没有被破坏隔离性Isolation:多个并发事务同时其事务对彼此不可见持久性Durability:事务处理结束后对数据的修改就是永久的即便系统故障也不会丢失15. MySQL中四种隔离级别分别是什么读未提交未提交读隔离级别也叫脏读就是事务可以读取其它事务未提交的数据。读已提交在其它数据库系统比如 SQL Server 默认的隔离级别就是提交读已提交读隔离级别就是在事务未提交之前所做的修改其它事务是不可见的。可重复读保证同一个事务中的多次相同的查询的结果是一致的可重复读也是 MySQL的默认隔离级别。可串行化同一数据读写都加锁避免脏读性能不忍直视。16. 数据库的乐观锁和悲观锁是什么确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性乐观锁和悲观锁是并发控制主要采用的技术手段。乐观锁在修改数据的时候把事务锁起来通过version的方式来进行锁定实现方式每次添加修改时使用version版本号或者时间戳悲观锁在查询完数据的时候就把事务锁起来直到提交事务实现方式使用数据库中的锁机制17. Mysql存储引擎Innodb引擎Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。MyIASM引擎(原本Mysql的默认引擎),不提供事务的支持也不支持行级锁和外键。MEMORY引擎所有的数据都在内存中数据的处理速度快但是安全性不高。18. Varchar和Char的区别Char是一种固定长度的类型varchar是一种可变长度的类型19. Mysql中表锁和行锁的区别行锁特点锁的粒度小发生锁冲突的概率低、处理并发的能力强开销大、加锁慢、会出现死锁加锁的方式自动加锁。对于UPDATE、DELETE和INSERT语句InnoDB会自动给涉及数据集加排他锁对于普通SELECT语句InnoDB不会加任何锁。表锁特点开销小、加锁快、无死锁锁粒度大发生锁冲突的概率高高并发下性能低20. MySQL和Oracle在操作上的一些区别1、主键MySQL 一般使用自动增长类型主键在创建表时只要指定表的主键为auto increment,插入记录时不需要再指定该记录的主键值MySQL将自动增长。Oracle没有自动增长类型需要自增主键时一般使用的序列插入记录时将 序列号的下一个值付给该字段即可。如果不需要使用自增主键一般会选择使用全剧唯一的流水号作为Oracle数据库的主键。2、分页查询MySQL一般使用limit关键字进行分页查询有时候也可以利用自增主键加order by 命令加 limit进行分页查询Oracle处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置, 并且只能用ROWNUM, 不能用ROWNUM,需要大于则要用到别名来进行处理3、权限与安全在Oracle中有一个用户的概念用来登录到数据库比如openlab用户。用户拥有一定的权限可以创建表、视图等。用户名下的数据表安全性高于MySQL。MySQL中对应于Oracle中用户的概念是database。登陆后要先建立database才能建表。MySQL的用户与主机有关很容易被仿冒。21. MVCC 多版本并发控制实现细节每行数据都存在一个版本每次数据更新时都更新该版本。修改时 Copy 出当前版本随意修改各个事务之间互不干扰。保存时比较版本号如果成功commit则覆盖原记录失败则放弃 copyrollback。Inno DB 实现在 InnoDB 中为每行增加两个隐藏的字段分别是该行数据创建时的版本号和删除时的版本号这里的版本号是系统版本号可以简单理解为事务的 ID每开始一个新的事务系统版本号就自动递增作为事务的 ID 。通常这两个版本号分别叫做创建时间和删除时间。文章转载自南国以南i原文链接https://www.cnblogs.com/bgyb/p/19417423体验地址http://www.jnpfsoft.com/?from001YH

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询