11、列对比运算符是什么?
在SELECT 语句 的列比较中使用= ,<> ,<= ,< ,> = ,> ,<< ,>> ,<=>,AND,&nbs***bsp;或 LIKE 运算符。
12、 BLOB 和 TEXT 有什么区别?
BLOB 是一个二进制对象, 可以容纳可变数量的数据。 TEXT 是 一 个 不 区 分 大 小 写 的BLOB。
BLOB 和TEXT 类型之间 的唯一区别在于对BLOB 值 进 行 排 序 和 比 较 时 区 分 大 小 写, 对TEXT 值不区分大小写。
13、MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么?
以下是MySQL_fetch_array 和MySQL_fetch_object 的区别:
MySQL_fetch_array() – 将结 果行 作为 关联 数组 或来 自数 据库 的常 规数 组返 回 。
MySQL_fetch_object – 从数 据库 返回 结果 行作 为对 象。
14、 MyISAM 表格将在哪里存储,并且还提供其存储格式?
每个MyISAM 表格以三种格式存储在磁盘上:
· “ .frm ” 文件 存储 表定 义
· 数据 文件 具有 “ .MYD” (MYData) 扩 展名
索引文件具有 “ .MYI” (MYIndex) 扩 展名
15、 MySQL 如何优化 DISTINCT?
DISTINCT 在所有列上转换为GROUP BY, 并与ORDER BY 子句结合使用。
SELECT DISTINCT t1 .a FROM t1,t2 where t1 .a=t2 .a;
16、如何显示前 50 行?
在MySQL 中, 使用以下代码查询显示前50 行:
SELECT*FROM LIMIT 0,50;
17、可以使用多少列创建索引?
任 何标准表最多可以创建16 个 索 引 列 。
18、 NOW ()和 CURRENT_DATE ()有什么区别?
NOW () 命 令 用 于 显 示 当 前 年 份 , 月 份 , 日 期 , 小 时 , 分 钟 和 秒 。
CURRENT_ DATE () 仅 显 示 当 前 年 份 , 月 份 和 日 期 。
19、什么是非标准字符串类型?
1 、 TINYTEXT
2 、 TEXT
3 、 MEDIUMTEXT
4 、 LONGTEXT
20、什么是通用 SQL 函数?
1 、CONCAT(A, B) – 连 接 两 个 字 符 串 值 以 创 建 单 个 字 符 串 输 出 。通 常 用 于 将 两 个 或 多个字段合并为一个字段。
2 、 FORMAT(X, D) - 格式化数字X 到 D 有 效 数 字 。
3 、 CURRDATE(), CURRTIME() - 返 回 当 前日期或时间。
4 、 NOW () – 将 当 前 日 期 和 时 间 作 为 一 个 值 返 回 。
5 、 MONTH () , DAY () , YEAR () , WEEK () , WEEKDAY () – 从 日 期值中提取给定数据。
6 、 HOUR () , MINUTE () , SECOND () – 从 时 间 值 中 提 取 给 定 数 据 。
7 、 DATEDIFF ( A , B ) – 确 定 两 个 日 期 之 间 的 差 异 , 通 常 用 于 计 算 年 龄
8 、 SUBTIMES ( A , B ) – 确 定 两 次 之 间 的 差 异 。
9 、 FROMDAYS ( INT ) – 将 整 数 天 数 转 换 为 日 期 值 。
21、 MySQL 支持事务吗?
在缺省模式下,MySQL 是 autocommit 模式的,所有的数据库更新操作都会即时 提交, 所以在缺省情况下, MySQL 是不支持事务的。
但是如果你的MySQL 表类型是使用InnoDB Tables 或 BDB tables 的话, 你的 MySQL 就可以使用事务处理,使 用 SET
AUTOCOMMIT=0 就可以使MySQL 允许在非autocommit 模式, 在非 autocommit 模式下 ,你必须使用COMMIT 来提交你的更改,或者用ROLLBACK来回滚你的更改。
22、 MySQL 里记录货币用什么字段类型好
NUMERIC 和DECIMAL 类型被MySQL 实现为 同样的类型, 这在SQL92 标 准 允 许 。 他们被用于保存值, 该值的准确精度是极其重要的值, 例如与金钱有关的数 据。 当声明一个类是这些类型之一时, 精度和规模的能被(并 且 通 常 是 )指 定 。
例 如:
salary DECIMAL(9,2)
在 这个例子中, 9(precision)代 表 将 被 用 于 存 储 值 的 总 的 小 数 位 数 , 而 2(scale)代 表 将被用于存储小数点后的位数。
因此 , 在这种情况下, 能被存储在salary 列 中 的 值 的 范 围 是 从 -9999999 .99 到 9999999.99。
23、 MySQL 有关权限的表都有哪几个?
MySQL 服务 器通过权限表来控制用户对数据库的访问, 权限表存放在MySQL 数 据库里,由MySQL_ install_db 脚本初始化。这些权限表分别user,db,table_ priv, columns_ priv 和host。
24、列的字符串类型可以是什么?
字符串类型是:
1 、 SET
2 、 BLOB
3 、 ENUM
4 、 CHAR
5 、 TEXT
25、MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
1、 设计良好的数据库结构, 允许部分数据冗余, 尽量避免join 查 询 , 提 高 效 率 。
2 、 选择合适的表字段数据类型和存储引擎, 适当的添加索引。
3 、 MySQL 库 主 从 读 写 分 离 。
4 、 找规律分表, 减少单表中的数据量提高查询速度。
5、 添加缓存机制, 比如memcached , apc 等 。
6 、 不经常改动的页面, 生成静态页面。
7、 书写高效率的SQL。 比如 SELECT *FROM TABEL 改为 SELECT field_ 1, field_ 2,field_ 3 FROM TABLE .
26、锁的优化策略
1、读写分离
2、分段加锁
3、 减 少 锁 持 有 的 时 间
4、多个线程尽量以相同的顺序去获取资源
不能将锁的粒度过于细化, 不然可能会出现线程的加锁和释放次数过多, 反而效 率 不如一次加一把大锁。