性能升级到更新

时间:2018-07-24 14:40:54

标签: sql performance sql-server-2008

这是旧的旧版代码/项目。无法更改[s]表或[other]表。

我正在看一段代码,我想知道是否有办法使它以某种方式更快地运行。我认为这样的问题不大,但是由于执行得很多,也许有一种方法可以从这里挤出更多时间。

[strcol]是一个varchar列,在[s]中应仅保留[other]。[strcol]中的值。其余所有都必须为空。

Spannable mspanable;
int hashTagIsComing = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    final EditText edtTxtMine = (EditText) findViewById(R.id.editText1);

    mspanable = edtTxtMine.getText();

    edtTxtMine.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

            String startChar = null;

            try{
                startChar = Character.toString(s.charAt(start));
                Log.i(getClass().getSimpleName(), "CHARACTER OF NEW WORD: " + startChar);
            }
            catch(Exception ex){
                startChar = "";
            }

                if (startChar.equals("#")) {
                     changeTheColor(s.toString().substring(start), start, start + count);
                     hashTagIsComing++;
                }

                if(startChar.equals(" ")){
                    hashTagIsComing = 0;
                }

                if(hashTagIsComing != 0) {
                    changeTheColor(s.toString().substring(start), start, start + count);
                    hashTagIsComing++;
                }
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

        }
    });



}


private void changeTheColor(String s, int start, int end) {
    mspanable.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.color)), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}

谢谢。

1 个答案:

答案 0 :(得分:3)

您可以添加索引:

create index idx_other_strcol on other(strcol);

否则,我认为您无能为力。您可以使用LEFT JOINNOT IN重新定义查询,但是如果没有正确的索引,则可能无法提高性能。