第一次做系统后台,问一问关于做后台的一些问题。

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:54:56
才接手一个案子,以前只是再Windows下面做过一些系统,第一次做关于Unix平台上系统的的一些后台(基本上都是数据库操作,读文件写文件之类的),看到之前有师兄写的后台在性能上不怎么理想,有点心虚,希望大家提点一点小弟。
我想问的问题有一下几个,大家讨论一下当然大家有忠告的也可以说出来,谢谢了!
1.在实现字符操作的时候,Unix下面的memXXX()函数与strXXX()函数,他们有什么区别,哪个效率更高一点?
2.在读写数据库的方式上有什么好的建议(因为之前师兄是度数据库生成unl文件,再对unl文件修改导入数据库的,效果好像不怎么好)。现在的DB是Informix,之后可能要换Oracle,所以对两个数据库的存储过程有什么好一点的算法?
3.用C语言调用Shell命令或.sh文件执行系统操作快还是用直接用C实现系统操作快?(比如说实现文件的复制)
4.对于读文件与DB读写较多的后台,有什么好一点的算法?我想用多线程编程,不知道可不可行,要是可行的话应该注意什么呢?
5.向这些后台程序可不可以加点汇编提高效率呢?(这点只是一个想法,不知道可不可行)。

第一次做系统,问题可能相当不专业,大家就忍痛看一下吧,再次说声谢谢~~~

1. 已知长度的前提下一般应该用memXXX。
2. 不知道
3. 直接用C实现系统最快。Unix中不清楚,如果有固化在外壳程序中的复制命令的话,.sh也不会慢。但是如果复制命令是个独立程序就不行了。
4. 如果以读写数据库为主的话多线程操作不会提高效率。只有多个线程在等待不同内容的时候多线程才能提高效率(当然这是说你的程序原本是单线程的情况下,多个用户同时访问的话肯定要用多线程。)。当然如果你有多个逻辑CPU的话,起码要把CPU都用上。
5. 不是运算为主的程序没意义。