MySQL 中的ORDER BY两种排序实现方式
总的来说,在 MySQL
中的ORDER
BY有两种排序实现方式,一种是利用有序索引获取有序数据,另一种则是通过相应的排序算法,将取得的数据在内存中进行排序。
下面将通过实例分析两种排序实现方式及实现图解:
假设有Table
A 和 B 两个表结构分别如下:
1 sky@localhost : example 01:48:21> show create table A\G
2
3 *************************** 1. row
***************************
4
5 Table: A
6
7 Create Table: CREATE TABLE `A` (
8
9 `c1` int
(11) NOT NULL default '0',
10
11 `c2` char(2) default NULL,
12
13 `c3` varchar(16) default NULL,
14
15 `c4` datetime default NULL,
16
17 PRIMARY KEY
(`c1`)
18
19 ) ENGINE=MyISAM DEFAULT CHARSET=utf8
20
21 sky@localhost : example 01:48:32> show create table B\G
22
23 *************************** 1. row ***************************
24
25 Table: B
26
27 Create Table: CREATE TABLE `B` (
28
29 `c1` int(11) NOT NULL default '0',
30
31 `c2` char(2) default NULL,
32
33 `c3` varchar(16) default NULL,
34
35 PRIMARY KEY (`c1`),
36
37 KEY `B_c2_ind` (`c2`)
38
39 ) ENGINE=MyISAM DEFAULT CHARSET=utf8
1、利用有序索引进行排序,实际上就是当我们 Query 的 ORDER BY 条件和 Query 的执行计划中所利用的 Index
的索引键(或前面几个索引键)完全一致,且索引访问方式为 rang、 ref 或者 index 的时候,MySQL
可以利用索引顺序而直接取得已经排好序的�
相关文档:
首先看看 jsp文件 java程序里有没有request.setCharacterEncoding("UTF-8");
字符编码问题,数据插入库中时,java编码和数据库编码不一致,导致插入数据库为乱码,看到为????的形式
将你的jsp页面编码改为GBK,数据库对应表的编码也改为GBK
编码一致,就不会出现乱码问题� ......
以mysql-noinstall-5.1.6(win32)为例
1>把压缩文件mysql-noinstall-5.1.6-alpha-win32.zip解压到一个目录下,在环境变量中设置MYSQL_HOME,把%MYSQL_HOME%\bin 加
入到 path。
2>创建my.ini配置文件,内容如下:
[mysqld]
#设置basedir指向mysql的安装路径
basedir=...\mysql
datadir=...\mysql\data
my.ini� ......
以MySQL-server-4.0.14-0.i386.rpm为例,放在/data目录下
cd /data
rpm -ivh MySQL-server-4.0.14-0.i386.rpm
安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚本mysql.server及示例配置文件等(如my-huge.cnf、my-large.cnf、my-medium.cnf)
拷贝一个示例配置� ......
配置环境:UUbuntu 8.04
1.安装vsftpd
sudo apt-get install vsftpd
2.创建guest用户
vsftpd安装的时候会自动安转一个ftp用户,在passwd中删除
sudo useradd virtual
设置virtual的密码为webftp
sudo passwd virtual
编辑virtual用户的主目录并设置shell
sudo vim /etc/passwd
我设置的是virtual:x:1001: ......
1.CREATE USER
CREATE USER user [IDENTIFIED BY [PASSWORD] 'password']
[, user [IDENTIFIED BY [PASSWORD] 'password']] ...
CREATE USER用于创建新的MySQL账户。要使用CREATE USER,您必须拥有mysql数据库的全局CREATE USER权限,或拥有INSERT权限。对于每个账户,CREATE USER会在没有权限的mysq ......