1、DML DDL 区别
DML(Data Manipulation Language)数据操纵语言:
适用范围:对数据库中的数据进行一些简单操作,如insert,delete,update,select等.
DDL(Data Definition Language)数据定义语言:
适用范围:对数据库中的某些对象(例如,database,table)进行管理,如Create,Alter和Drop.
区别:
1.DML操作是可以手动控制事务的开启、提交和回滚的。
2.DDL操作是隐性提交的,不能rollback!
2、什么时候要commit
可以执行,但是不提交数据不会保存到数据库
DML需要提交(insert、update、delete)
DDL会自动提交(create、alter ...)
3、什么情况下索引不生效
参考:http://blog.csdn.net/kaka1121/article/details/53395628