程序性能测试后,发现 程序跟oralce进程有几个cpu占很高,经查,发现
130 SQL*Net message from client                                           901 insert into CallRec       
130 SQL*Net message from client                                           10026 insert into CallRec       是insert into  CallRec产生了很多SQL*Net message from client,引起的cpu 高占有率insert into是简单的插入语句,插入的值都是常量,不是从其他表取来再插入之类的,性能测试时,是大概以1s40条的数据来insert的.数据的插入是正常的.就是cpu占高了问下,SQL*Net message from client是什么原因,怎么产生的?????

解决方案 »

  1.   

    130 SQL*Net message from client , 这是正常的,是sqlplus和数据库之间交互产生的信息
      

  2.   

    是简单的insert into语句,没绑定的
      

  3.   

    130 SQL*Net message from client , 这是正常的,是sqlplus和数据库之间交互产生的信息
    --------------但是cpu占比较高,有什么办法可以 降低些
      

  4.   

    没有绑定变量,每秒插入40条,那CPU占用是会比较高的你绑定变量问题就解决了,你是在sqlplus中测试的?
      

  5.   

    sqlplus和数据库之间交互产生的信息 
    -----------产生的信息怎么会影响cpu呢,cpu怎么就是一直不降呢????正常的吗???
      

  6.   

    insert into语句是直接写代码里的, 这个程序是要等其他程序发消息过来,才会进行insert into的,测试时应该是用其他程序直接不停发消息来测试的,发消息的速度是1s40来条
    没有绑定变量,每秒插入40条,那CPU占用是会比较高的 
    ---------------------问题就是测试结束了,cpu还是占的高高的,你说的绑定变量是指在存储过程里,select出来的东西用绑定变量,insert into 这种把,我这个单个insert into的怎么弄绑定变量???
      

  7.   

    批量数据的insert, update和 delete的绑定变量才是最重要的。在一个事务型的系统里,只有这些绑定了,性能才会良好。变量绑定就是在写sql语句的时候,用preparedStatment。
      

  8.   


    这些信息是不会影响CPU多少的,CPU不降我想应该是数据库还没有把所有的数据都插完
      

  9.   

    我这个是来一条消息,insert into一条的,应该说是时实的,也可以preparedStatment么???不是一批数据开,一批数据insert的
      

  10.   

    用了preparedStatment就是绑定,绑定跟指量是两个概念:bind variable VS batch
      

  11.   

    这些信息是不会影响CPU多少的,CPU不降我想应该是数据库还没有把所有的数据都插完
    ------------------------测试部的人说是,程序已经测完了,数据插入也没问题,cpu不降我先改成预先绑定的试试
      

  12.   

    preparedStatment 我理解的这个是 预先编译sql语句 ,比如odbc 接口是 先SQLPrepare 再SQLExecute
      

  13.   

    改了测了下没什么用,cpu还是占高高的.现在是该执行的都执行完了, sql语句都执行完了,而且执行都正确的,,cpu 占的高,再查看,是SQL*Net message from client ,这个怎么出现的???
      

  14.   

    网上也搜过,有的说是正常的,但是我觉得cpu占高,应该是就不正常