数据库
加加大了
这个作者很懒,什么都没留下…
展开
-
数据库专题(有关索引引擎/数据库连接池的问题)
一,mysql 中 MyIsam 与 InnoDB 的区别1.事务处理上方面MyISAM 强调的是性能,查询的速度比 InnoDB 类型更快,但是不提供事务支持。 InnoDB 提供事务支持事务。2.外键MyISAM 不支持外键,InnoDB 支持外键。3.锁MyISAM 只支持表级锁,InnoDB 支持行级锁和表级锁,默认是行级锁,行锁大幅 度提高了多用户并发操作的性能。innodb 比较适合于插入和更新操作比较多的情况, 而 myisam 则适合用于频繁查询的情况。另外,InnoDB 表的原创 2020-09-03 15:02:43 · 240 阅读 · 0 评论 -
数据库专题(有关索引的问题)
一,什么是数据库索引?索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上原创 2020-09-03 10:52:35 · 485 阅读 · 0 评论 -
数据库专题(关于连接/存储过程/锁/范式/事务的问题)
一,内连接和外连接为区别?有如下两个表:内连接只显示符合连接条件的记录外连接分左外连接、右外连接、全外连接三种:1)左外连接:即以左表为基准,到右表找匹配的数据,找不到匹配的用 NULL 补齐。2)右外连接即以右表为基准,到左表找匹配的数据,找不到匹配的用 NULL 补齐。 显示右表的全部记录及左表符合连接条件的记录。3)全外连接除了显示符合连接条件的记录外,在 2 个表中的其他记录也显示出来。二.inner join 和 left join 的性能比较1.在解析阶段,左连接原创 2020-09-02 11:25:54 · 577 阅读 · 0 评论 -
数据库专题(sql注入问题)
一,sql 语句应该考虑哪些安全性?1.防止 sql 注入,对特殊字符进行过滤、转义或者使用预编译的 sql 语句绑定变量。2.当 sql 语句运行出错时,不要把数据库返回的错误信息全部显示给用户,以防止 泄漏服务器和数据库相关信息。二.什么叫做 SQL 注入,如何防止?举个例子: 你后台写的 java 代码拼的 sql 如下:public List getInfo(String ename){ StringBuffer buf = new StringBuffer(); buf.appe原创 2020-09-01 09:55:31 · 407 阅读 · 0 评论 -
数据库专题(优化查询)
一,优化查询的方法都有哪些?1.使用索引:应尽量避免全表扫描,首先应考虑在 where 及 order by ,group by 涉及的列上建立索引。2.优化sql语句:2.1 通过 explain(查询优化神器)用来查看 SQL 语句的执行效果, 可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。2.2 任何地方都不要使用 select * from t ,用具体的字段列表代 替“*”,不要返回用不到的任何字段。2.3 不在索引列做运算或者使用函数。2.4 查询尽可能使用 limi原创 2020-09-01 09:17:40 · 216 阅读 · 0 评论