Le cambie casi todos los numeric por integer. En casi todos, estan incluidos todos los que se usan en el where.Alguna razon en particular para tener tantos numeric(2), numeric(3) y cosas asi? porque mejor no usas integer en esos casos? tengo entendido que las operaciones sobre numeric son mas costosas