mysql数据库模式信息提取
此程序实现将mysql数据库的模式信息展示出来。下面我简要地说明一下。
1.树形结构的实现。
SimplePanel pl=new SimplePanel();
private void buildFrameLayout(){
try{ pane = getContentPane();
//关闭面板
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//BorderLayout布局管理器
JPanel panel = new JPanel();
final JScrollPane scrollPane = new JScrollPane();
//panel.setBounds(24, 10, 173, 317);
panel.add(scrollPane);
//初始化根节点
DefaultMutableTreeNode root=new DefaultMutableTreeNode(connection.getCatalog());
//获得表名
Vector<Object> vector = getTableNames();
DefaultMutableTreeNode menu_accp = null;
for(int i = 0; i < vector.size(); i++){
String strName = (String)vector.get(i);
//初始化枝节点
menu_accp = new DefaultMutableTreeNode(strName);
Vector<Object> vectorColumn = getColumnNames(strName);
DefaultMutableTreeNode menu_accp_son = null;
//添加枝节点数据
root.add(menu_accp);
for(int j = 0; j < vectorColumn.size(); j++){
//初始化叶子节点
menu_accp_son = new DefaultMutableTreeNode((String)vectorColumn.get(j));
//添加叶子节点数据
menu_accp.add(menu_accp_son);
}
}
tree = new JTree(root);
TreeSelectionModel model = tree.getSelectionModel();
//一次只能选择一个树节点
model.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
//显示树
scrollPane.setViewportView(tree);
pane.add(panel,BorderLayout.WEST);
//注册点击节点事件
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
.getLastSelectedPathComponent();
// 可选用户对象
Object nodeInfo = node.getUserObject();
if (node.getLevel()==0) {
//根节点不处理
} else if (node.getLevel()==1){
//枝节点
pl.getPanel(connection, nodeInfo.toString(),node.getParent().toString(),node.getLevel());
相关文档:
一、mysql服务操作
1、net start mysql //启动mysql服务
2、net stop mysql //停止mysql服务
3、mysql -h主机地址 -u用户名 -p用户密码 //进入mysql数据库
4、quit //退出mysql操作
5、mysqladmin -u用户名 -p旧密码 password 新密码 //更改密码
6、grant select on 数据库.* to 用户名@登录主机 identifie ......
......
在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个
mytable
表:
CREATE TABLE mytable(
ID INT NOT NULL,
username VARCHAR(16) NOT NULL
);
我们随机向里面插入了
10000
条记录,其中有一条:
5555, admin
。
在查找
username="admin"
的记录
SELECT * from mytable WH ......
如何提高mysql load
data
infile
的速度
测试数据2.5G,共有数据9427567条。用的mysql的large服务器的配置。
load
一次需要大概10分钟左右。
建的表用的是MYISAM,调整了几个session的参数值
SET SESSION BULK_INSERT_BUFFER_SIZE=256217728;
SET SESSION MYISAM_SORT_BUFFER_SIZE=256217728;
运行结果如下
Qu ......