比较小白,我做了个简单的图书馆管理系统,就是借还书的简单程序,C/S的。数据库使用的是mysql5.5,好像是这个版本。我现在想起,我的每一次连接都用的是创建连接,然后关闭连接。这个是不是有问题?如果采用连接池怎么做,我用的是C# + mysql。
另外一个问题就是,现在数据库里也就是10几本书而已,如果book表里面有很多的书,不建立索引是不是就会很慢,比如真实的图书馆就是很多的上百万的图书,建立一次连接,就是为了查询这本书或者续借或者换书,然后关闭……效率很低。虽然知道应该建立连接池,建立索引,但是具体怎么做,不是很懂……求大虾指点小白,请各位大大不吝赐教~谢谢

解决方案 »

  1.   

    不是问题必须创建索引。听谁说的效率低?
    一定要学习使用百度/GOOGLE或者MYSQL自带的手册。
      

  2.   

    where条件里是什么就在表上建立哪一列的索引
      

  3.   

    主键是ID,全部是查询书籍条码,不是主键,但是可以作为主键,在我的设计中是id, bookID, bookName, isFlag, re。只是借书换书续借而已。不会根据书名查找,也许以后再做吧,现在是先把这个问题搞清楚了再说其它的。
      

  4.   

    你bookID是怎么维护的,如果可以的话直接用为主键了,这样目前就不需要加索引了
      

  5.   

    C/S系统一般使用长连接,也就是说在系统打开时,打开数据库连接,在关闭软件时关闭数据库连接。如果使用短连接的话也就是说每操作一次打开关闭一次数据库连接这样会很慢,因为打开一个数据库连接要占用很多资源,早期CGI/ASP时代才使用短连接,现在很少用了都用连接池了,不过都是B/S才会考虑连接池。
      

  6.   

    谢谢。
    bookID就是条码,书后面的条码。其实是唯一的,本来是可以作为主键的,但是现在没有作为主键,但是由于数据库已经设计好了,如果要改的话,改动会比较大的……
    我建个索引方便呢还是改数据库将bookID作为主键方便呢??